/* Route: the Jhilke Circle design system (JG round 3, 2026-10-13). One stylesheet for the member portal and the admin.
   The look borrows the Trek Route Map posters: gold line-work (a dashed route with waypoints, section rules, contour rings),
   Fraunces for titles and names, Bebas Neue for codes, counts and dates, Inter for everything you read or press.
   Dark only: ink base, cream text, gold for structure and focus, one terracotta colour for the main action.
   Print-sharp 4 px corners; pills only for chips, counts and the phone dock.
   The pass and the route line are the only decorative pieces. Everything else is plain.

   How to use it
   - Put class="r" on <html>. Element defaults (body, links, headings, focus) are scoped to .r so another stylesheet on the
     same page cannot undo them; every component is one r- class and works anywhere.
   - Fonts are self-hosted next to this file (SIL Open Font License, licences in assets/fonts). No request leaves the origin.
   - Mobile first: 16 px gutters, 44 px or larger targets on touch, nothing wider than the screen at 320 px.
     Breakpoints: 760 px (two columns where it helps) and 1024 px (top bar tabs, 12-column grid, no dock).
   - Motion: colour changes and one 3% cover zoom on hover. All of it stops under prefers-reduced-motion. */

/* ---------- fonts: latin and latin-ext subsets, swapped in when loaded ---------- */
@font-face{font-family:"Inter";font-style:normal;font-weight:400 700;font-display:swap;src:url(r-inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:400 700;font-display:swap;src:url(r-inter-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Fraunces";font-style:normal;font-weight:400 700;font-display:swap;src:url(r-fraunces-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Fraunces";font-style:normal;font-weight:400 700;font-display:swap;src:url(r-fraunces-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Bebas Neue";font-style:normal;font-weight:400;font-display:swap;src:url(r-bebas-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bebas Neue";font-style:normal;font-weight:400;font-display:swap;src:url(r-bebas-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ---------- tokens ----------
   Contrast on the ink page (#1E1B17): cream 14.6:1, muted 9.0:1, faint 6.4:1 (5.6:1 on the raised sheet), gold-soft 10.3:1,
   status colours 6.5 to 10:1. The terracotta button carries #FFF8EC at 5.1:1 (6.3:1 on hover). */
:root{
  --r-ink:#1E1B17;--r-sheet:#24201B;--r-sheet-2:#2B2621;--r-hover:#312C26;
  --r-cream:#F4ECD9;--r-muted:#BCB6A7;--r-faint:#A39D8F;
  --r-gold:#C8962B;--r-gold-soft:#E8C47A;--r-gold-wash:rgba(200,150,43,.14);
  --r-act:#B5462E;--r-act-down:#9E3D27;--r-on-act:#FFF8EC;
  --r-ok:#8DBB88;--r-wait:#E8A33D;--r-bad:#F2B8A8;--r-info:#8FA3AD;
  --r-rule:rgba(200,150,43,.42);--r-rule-soft:rgba(200,150,43,.22);--r-hair:rgba(244,236,217,.12);--r-hair-2:rgba(244,236,217,.22);--r-field:rgba(244,236,217,.34);
  --r-ui:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r-display:"Fraunces",Georgia,"Times New Roman",serif;
  --r-poster:"Bebas Neue",Impact,"Arial Narrow",sans-serif;
  /* type scale (px): 12.5 13.5 15 16 17 19 24 32 to 46 */
  --r-t-xs:12.5px;--r-t-sm:13.5px;--r-t-md:15px;--r-t-base:16px;--r-t-lg:17px;--r-t-h3:19px;--r-t-h2:24px;--r-t-h1:clamp(32px,7vw,46px);
  /* spacing (px) */
  --r-s1:4px;--r-s2:8px;--r-s3:12px;--r-s4:16px;--r-s5:24px;--r-s6:32px;--r-s7:48px;--r-s8:64px;
  --r-radius:4px;--r-gut:16px;--r-max:1280px;
  --r-focus:2px solid var(--r-gold-soft);
  --r-fast:.15s;--r-slow:.35s;--r-ease:cubic-bezier(.2,.7,.2,1);
  --r-bar-h:60px;
}

/* ---------- base ----------
   Element defaults sit inside :where(.r), so they weigh no more than a bare element selector and any r- class beats them. */
.r{color-scheme:dark;background:var(--r-ink);-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--r-bar-h) + 20px)}
@media (pointer:fine){.r{overscroll-behavior:none}}
@media (max-width:1023px){.r{scroll-padding-bottom:calc(96px + env(safe-area-inset-bottom))}}
:where(.r) *,:where(.r) *::before,:where(.r) *::after{box-sizing:border-box}
:where(.r) body{margin:0;min-height:100dvh;background:var(--r-ink);color:var(--r-cream);font:400 var(--r-t-base)/1.55 var(--r-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:rgba(200,150,43,.18)}
:where(.r) a{color:var(--r-gold-soft);text-underline-offset:3px;text-decoration-thickness:1px}
:where(.r) a:where(:hover){color:var(--r-cream)}
:where(.r) :where(:focus){outline:none}
:where(.r) :focus-visible{outline:var(--r-focus);outline-offset:3px}
:where(.r) :where(button,input,select,textarea){font:inherit;color:inherit;letter-spacing:inherit}
:where(.r) :where(h1,h2,h3,h4){margin:0;font-family:var(--r-display);font-weight:600;line-height:1.2;text-wrap:balance;font-optical-sizing:auto}
:where(.r) :where(p,ul,ol,dl,dd,figure,blockquote){margin:0}
:where(.r) img{max-width:100%}
:where(.r) code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}
:where(.r) :where(strong,b){font-weight:600}
:where(.r) [hidden]{display:none!important}
.r-vh,:where(.r) .jc-vh,:where(.r) .sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.r-skip{position:absolute;left:12px;top:-80px;z-index:200;display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:var(--r-radius);background:var(--r-cream);color:var(--r-ink);font-weight:600;text-decoration:none}
.r-skip:focus,.r-skip:focus-visible{top:10px}
.r-i{flex:none;display:block;width:20px;height:20px}
.r-num{font-variant-numeric:tabular-nums}
.r-muted{color:var(--r-muted)}
.r-faint{color:var(--r-faint)}
.r-break{overflow-wrap:anywhere}

/* ---------- top bar: brand, tabs from 1024 px, account; a section strip under it below 1024 px ---------- */
.r-bar{position:sticky;top:0;z-index:60;background:rgba(30,27,23,.96);border-bottom:1px solid var(--r-rule-soft)}
@supports (backdrop-filter:blur(8px)){.r-bar{background:rgba(30,27,23,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}}
.r-bar__in{display:flex;align-items:center;gap:var(--r-s4);max-width:var(--r-max);margin:0 auto;min-height:var(--r-bar-h);padding:6px var(--r-gut)}
.r-brand{display:flex;align-items:center;gap:10px;min-height:44px;min-width:0;color:var(--r-cream);text-decoration:none;flex:none}
.r-brand b{font:600 19px/1 var(--r-display);letter-spacing:.005em;white-space:nowrap}
.r-brand small{margin-left:2px;font:500 13px/1 var(--r-ui);color:var(--r-gold-soft)}
.r-mark{flex:none;display:grid;place-items:center;width:34px;height:34px;overflow:hidden;border-radius:50%;background:var(--r-cream);box-shadow:0 0 0 1px var(--r-rule)}
.r-mark img{display:block;width:40px;height:40px;max-width:none}
.r-tabs{display:none}
.r-tabs a{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:var(--r-bar-h);padding:0 4px;color:var(--r-muted);font-size:15px;font-weight:500;text-decoration:none;white-space:nowrap;transition:color var(--r-fast)}
.r-tabs a:hover{color:var(--r-cream)}
.r-tabs a[aria-current=page]{color:var(--r-cream)}
.r-tabs a[aria-current=page]::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--r-gold)}
.r-bar__end{margin-left:auto;display:flex;align-items:center;gap:var(--r-s2)}
.r-acct{display:inline-flex;align-items:center;gap:10px;min-height:44px;min-width:44px;color:var(--r-cream);font-size:15px;font-weight:500;text-decoration:none}
.r-acct__l{display:none}
.r-av{flex:none;display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--r-rule);border-radius:50%;background:var(--r-sheet-2);color:var(--r-gold-soft);font:400 18px/1 var(--r-poster);letter-spacing:.06em;transition:background-color var(--r-fast),border-color var(--r-fast)}
.r-acct:hover .r-av{border-color:var(--r-gold)}
.r-acct[aria-current=page] .r-av{background:rgba(200,150,43,.2);border-color:var(--r-gold);color:var(--r-cream)}
.r-acct[aria-current=page] .r-acct__l{text-decoration:underline;text-decoration-color:var(--r-gold);text-decoration-thickness:2px;text-underline-offset:6px}
.r-strip{position:relative;display:flex;gap:22px;overflow-x:auto;padding:0 var(--r-gut);border-top:1px solid var(--r-hair);scrollbar-width:none;overscroll-behavior-x:contain}
.r-strip::-webkit-scrollbar{display:none}
.r-strip a{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:46px;color:var(--r-muted);font-size:14.5px;font-weight:500;text-decoration:none;white-space:nowrap}
.r-strip a[aria-current=page]{color:var(--r-cream)}
.r-strip a[aria-current=page]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--r-gold)}
@media (min-width:1024px){
  .r-bar__in{gap:28px;padding:0 32px}
  .r-tabs{display:flex;gap:26px;min-width:0}
  .r-acct__l{display:inline}
  .r-strip{display:none}
}

/* ---------- phone dock: four destinations, floating above the safe area ---------- */
.r-dock{position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:60;display:grid;grid-template-columns:repeat(var(--r-dock-n,4),minmax(0,1fr));max-width:520px;margin:0 auto;padding:5px;border:1px solid var(--r-rule);border-radius:999px;background:rgba(43,38,33,.97);box-shadow:0 10px 30px rgba(10,8,6,.45)}
.r-dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;min-height:54px;border-radius:999px;color:var(--r-faint);font-size:12px;font-weight:500;line-height:1.2;text-decoration:none;white-space:nowrap;touch-action:manipulation;transition:background-color var(--r-fast),color var(--r-fast)}
.r-dock a:hover{color:var(--r-cream)}
.r-dock a[aria-current=page]{background:rgba(200,150,43,.16);color:var(--r-cream)}
.r-dock a[aria-current=page] .r-i{color:var(--r-gold-soft)}
.r-dock .r-i{width:22px;height:22px}
@media (max-width:359px){.r-dock{left:8px;right:8px}.r-dock a{font-size:11px}}
@media (min-width:1024px){.r-dock{display:none}}

/* ---------- page frame ---------- */
.r-main{display:block;max-width:var(--r-max);margin:0 auto;padding:24px var(--r-gut) calc(108px + env(safe-area-inset-bottom));outline:0}
.r-main--bare{padding-bottom:56px}
@media (min-width:1024px){.r-main{padding:40px 32px 72px}}
.r-foot{display:flex;flex-wrap:wrap;align-items:center;gap:4px 24px;margin-top:56px;padding-top:12px;border-top:1px solid var(--r-hair);font-size:14px}
.r-foot a{display:inline-flex;align-items:center;min-height:44px}
.r-foot form{margin:0 0 0 auto}
.r-foot--center{justify-content:center}

/* page head: title, one line under it */
.r-ph{display:grid;gap:10px;max-width:760px;margin-bottom:28px}
.r-ph h1{font-size:var(--r-t-h1);line-height:1.05;letter-spacing:-.01em;font-variation-settings:"opsz" 144}
.r-lede{max-width:60ch;color:var(--r-muted);font-size:var(--r-t-lg)}
.r-lede a{font-weight:500}
.r-ph__date{color:var(--r-gold-soft);font-size:14px;font-weight:500}

/* section head: title, a gold rule running to the edge, an optional count and link */
.r-sec{min-width:0}
.r-sec+.r-sec{margin-top:var(--r-s7)}
.r-grid>.r-sec{margin-top:0}
.r-sh{display:flex;align-items:center;gap:14px;margin:0 0 16px}
.r-sh h2{font-size:var(--r-t-h2);line-height:1.2}
.r-sh::after{content:"";order:2;flex:1;height:1px;background:var(--r-rule-soft)}
.r-sh__c{order:1;color:var(--r-gold-soft);font:400 22px/1 var(--r-poster);letter-spacing:.04em}
.r-sh a,.r-sh__a{order:3;display:inline-flex;align-items:center;min-height:44px;font-size:14.5px;font-weight:500;text-decoration:none;white-space:nowrap}
.r-sh a:hover{text-decoration:underline}
.r-h3{font-size:var(--r-t-h3);line-height:1.25}

/* layout: one column on phones, 12 columns from 1024 px. .r-col groups blocks on desktop and lets .r-o1..5 reorder them on phones. */
.r-grid{display:grid;gap:28px;grid-template-columns:minmax(0,1fr)}
@media (min-width:1024px){
  .r-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:32px}
  .r-c12{grid-column:span 12}.r-c8{grid-column:span 8}.r-c7{grid-column:span 7}.r-c6{grid-column:span 6}.r-c5{grid-column:span 5}.r-c4{grid-column:span 4}
}
.r-col{display:contents}
.r-o1{order:1}.r-o2{order:2}.r-o3{order:3}.r-o4{order:4}.r-o5{order:5}.r-o6{order:6}.r-o7{order:7}
@media (min-width:1024px){.r-col{display:grid;gap:44px;align-content:start;min-width:0}}
.r-two{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
@media (min-width:760px){.r-two{grid-template-columns:repeat(2,minmax(0,1fr))}}
.r-stack{display:grid;gap:var(--r-s4);align-content:start;min-width:0}
.r-row-gap{display:flex;flex-wrap:wrap;align-items:center;gap:10px}

/* ---------- buttons: gold outline by default, one terracotta action per screen ---------- */
.r-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 18px;border:1px solid var(--r-rule);border-radius:var(--r-radius);background:transparent;color:var(--r-gold-soft);font-size:15px;font-weight:600;line-height:1.1;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;touch-action:manipulation;transition:background-color var(--r-fast),border-color var(--r-fast),color var(--r-fast)}
.r-btn:hover{background:rgba(200,150,43,.1);border-color:var(--r-gold);color:var(--r-cream)}
.r-btn:active{transform:translateY(1px)}
.r-btn[disabled],.r-btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}
.r-btn[disabled]:hover,.r-btn[aria-disabled=true]:hover{background:transparent;border-color:var(--r-rule);color:var(--r-gold-soft)}
.r-btn .r-i{width:18px;height:18px}
.r-btn--act{background:var(--r-act);border-color:var(--r-act);color:var(--r-on-act)}
.r-btn--act:hover{background:var(--r-act-down);border-color:var(--r-act-down);color:var(--r-on-act)}
.r-btn--quiet{border-color:var(--r-hair-2);color:var(--r-cream)}
.r-btn--quiet:hover{border-color:var(--r-gold)}
.r-btn--text{border-color:transparent;padding:0 6px;color:var(--r-gold-soft)}
.r-btn--text:hover{background:transparent;border-color:transparent;text-decoration:underline}
.r-btn--bad{border-color:rgba(242,184,168,.45);color:var(--r-bad)}
.r-btn--bad:hover{background:rgba(242,184,168,.08);border-color:var(--r-bad);color:var(--r-bad)}
.r-btn--block{display:flex;width:100%}
.r-btn--sm{min-height:44px;padding:0 14px;font-size:14px}
.r-ibtn{display:inline-grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:1px solid var(--r-rule);border-radius:var(--r-radius);background:transparent;color:var(--r-gold-soft);cursor:pointer;touch-action:manipulation;transition:background-color var(--r-fast),border-color var(--r-fast)}
.r-ibtn:hover{background:rgba(200,150,43,.1);border-color:var(--r-gold)}
.r-copy[data-done]{background:rgba(200,150,43,.2);border-color:var(--r-gold);color:var(--r-cream)}
.r-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}
.r-actions p{flex:1 1 220px;color:var(--r-muted);font-size:14px}
.r-fine{margin-top:10px;color:var(--r-muted);font-size:14px;line-height:1.55}
.r-events{list-style:none;margin:14px 0 0;padding:0}
.r-events>li{padding:10px 0;border-top:1px solid var(--r-hair)}
.r-events>li:first-child{border-top:0}
.r-events a{color:var(--r-gold-soft);font-weight:600;overflow-wrap:anywhere}
.r-events a:hover{text-decoration:underline}
.r-events a:focus-visible{outline:var(--r-focus);outline-offset:3px}
.r-events p{margin:2px 0 0;color:var(--r-muted);font-size:14px;line-height:1.5}
.r-inline{display:inline;margin:0}

/* ---------- chips, badges, counts and status text ---------- */
.r-chip{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:0 10px;border:1px solid var(--r-hair-2);border-radius:999px;color:var(--r-muted);font-size:13px;font-weight:500;line-height:1.2;white-space:nowrap}
.r-chip .r-i{width:14px;height:14px}
.r-chip--gold{border-color:var(--r-rule);color:var(--r-gold-soft)}
.r-chip--ok{border-color:rgba(141,187,136,.45);color:var(--r-ok)}
.r-chip--wait{border-color:rgba(232,163,61,.45);color:var(--r-wait)}
.r-chip--bad{border-color:rgba(242,184,168,.45);color:var(--r-bad)}
.r-chip--live{border-color:var(--r-gold);background:var(--r-gold-wash);color:var(--r-cream)}
.r-n{display:inline-block;min-width:22px;padding:0 6px;border-radius:999px;background:rgba(200,150,43,.18);color:var(--r-gold-soft);font:600 12.5px/20px var(--r-ui);text-align:center}
.r-st{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500}
.r-st .r-i{width:16px;height:16px}
.r-st--ok{color:var(--r-ok)}.r-st--wait{color:var(--r-wait)}.r-st--bad{color:var(--r-bad)}.r-st--info{color:var(--r-info)}

/* ---------- surfaces: a plain sheet, a card, a small box ---------- */
.r-sheet{min-width:0;padding:20px;border:1px solid var(--r-hair);border-radius:var(--r-radius);background:var(--r-sheet)}
@media (min-width:760px){.r-sheet{padding:24px}}
.r-card{display:grid;gap:10px;min-width:0;padding:16px;border:1px solid var(--r-hair);border-radius:var(--r-radius);background:var(--r-sheet)}
.r-card--key{border-color:var(--r-rule)}
.r-card__h{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.r-card h3{font-size:18px;line-height:1.25}
.r-card p{color:var(--r-muted);font-size:14.5px}
.r-box{padding:18px;border:1px solid var(--r-hair);border-radius:var(--r-radius);background:var(--r-sheet)}
.r-box h3{display:flex;align-items:center;gap:8px;margin-bottom:10px;font:600 15px/1.3 var(--r-ui)}
.r-box h3 .r-i{color:var(--r-gold-soft)}
.r-icon-ring{display:grid;place-items:center;flex:none;width:46px;height:46px;border:1px solid var(--r-rule);border-radius:50%;color:var(--r-gold-soft)}
.r-icon-ring .r-i{width:22px;height:22px}

/* ---------- the pass: name, code, link, the deal, a perforation, then the route and the one action ---------- */
.r-pass{position:relative;min-width:0;overflow:hidden;border:1px solid var(--r-rule);border-radius:var(--r-radius);background:repeating-radial-gradient(circle at 104% -8%,transparent 0 26px,rgba(200,150,43,.075) 26px 27px),var(--r-sheet-2)}
.r-pass__main{padding:22px 20px 20px}
.r-pass__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}
.r-pass__k{color:var(--r-gold-soft);font:500 14px/1.3 var(--r-ui)}
.r-pass__name{margin-top:4px;color:var(--r-cream);font:600 22px/1.2 var(--r-display);overflow-wrap:anywhere}
.r-pass__glint{flex:none;width:26px;height:26px;color:var(--r-gold)}
.r-pass__lbl{display:block;margin-bottom:2px;color:var(--r-faint);font-size:13px}
.r-pass__line{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.r-pass__line>div{flex:1 1 auto;min-width:0}
.r-pass__line+.r-pass__line{margin-top:14px;padding-top:14px;border-top:1px solid var(--r-hair)}
.r-pass__wait{color:var(--r-muted);font-size:15px;max-width:52ch}
.r-code{display:block;color:var(--r-cream);font:400 clamp(44px,13vw,72px)/.92 var(--r-poster);letter-spacing:.035em;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}
.r-link{color:var(--r-cream);font:500 17px/1.35 var(--r-ui);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}
.r-deal{list-style:none;display:flex;flex-wrap:wrap;gap:10px 0;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--r-hair)}
.r-deal li{display:grid;align-content:start;min-width:0;padding:0 20px;border-left:1px solid var(--r-rule)}
.r-deal li:first-child{padding-left:0;border-left:0}
.r-deal b{color:var(--r-cream);font:400 30px/1 var(--r-poster);letter-spacing:.04em;font-weight:400}
.r-deal span{color:var(--r-faint);font-size:12.5px}
@media (max-width:379px){.r-deal li{padding:0 12px}}
.r-perf{position:relative;height:0;margin:0 18px;border-top:1px dashed var(--r-rule)}
.r-perf::before,.r-perf::after{content:"";position:absolute;top:-11px;width:22px;height:22px;border:1px solid var(--r-rule);border-radius:50%;background:var(--r-ink)}
.r-perf::before{left:-30px}.r-perf::after{right:-30px}
.r-pass__stub{display:grid;gap:18px;padding:20px}
.r-pass__act{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.r-pass__act p{color:var(--r-muted);font-size:14px}
@media (min-width:760px){.r-pass__main{padding:28px 30px 24px}.r-pass__stub{padding:22px 30px 26px}.r-perf{margin:0 30px}.r-perf::before{left:-42px}.r-perf::after{right:-42px}}
/* a small pass for a list or a side column */
.r-pass--mini{padding:16px 18px;background:repeating-radial-gradient(circle at 108% -20%,transparent 0 20px,rgba(200,150,43,.07) 20px 21px),var(--r-sheet-2)}
.r-pass--mini .r-code{font-size:44px}
.r-pass--mini .r-link{font-size:15px}
.r-pass--mini .r-pass__line+.r-pass__line{margin-top:10px;padding-top:10px}

/* ---------- the route: waypoints on a dashed gold line. Done: a gold dot. To do: a ring. The last one done: the glint. ---------- */
.r-route{list-style:none;display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));margin:0;padding:0}
.r-route li{position:relative;display:grid;align-content:start;gap:2px;min-width:0;padding:22px 6px 0 0;color:var(--r-faint);font-size:13px;line-height:1.3}
.r-route li b{color:var(--r-cream);font-size:13.5px;font-weight:600;overflow-wrap:anywhere}
.r-route li::before{content:"";position:absolute;top:3px;left:0;width:11px;height:11px;border-radius:50%;background:var(--r-gold);box-shadow:0 0 0 3px var(--r-sheet-2)}
.r-route li::after{content:"";position:absolute;top:8px;left:14px;right:4px;border-top:1.5px dashed var(--r-rule)}
.r-route li:last-child::after{display:none}
.r-route li.is-todo::before{background:transparent;border:1.5px solid var(--r-gold-soft)}
.r-route li.is-todo b{color:var(--r-muted)}
.r-route li.is-glint::before{display:none}
.r-wp{position:absolute;top:-3px;left:-3px;width:17px;height:17px;color:var(--r-gold)}
.r-wp .r-i{width:17px;height:17px}
.r-route--page li::before{box-shadow:0 0 0 3px var(--r-ink)}
@media (max-width:479px){.r-route--5 li{padding-right:2px;font-size:12px}.r-route--5 li b{font-size:12px}.r-route li b{overflow-wrap:normal}}
@media (max-width:379px){.r-route li{padding-right:3px;font-size:12px}.r-route li b{font-size:12px}}
/* five waypoints on small phones: two rows, the line breaks after the third */
@media (max-width:379px){.r-route--5{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:16px}.r-route--5 li:nth-child(3)::after{display:none}}
/* the same route standing up: stations with a title, text and an action */
.r-stations{list-style:none;position:relative;margin:0 0 32px;padding:0}
.r-stations::before{content:"";position:absolute;left:11px;top:16px;bottom:24px;border-left:1.5px dashed var(--r-rule)}
.r-stations>li{position:relative;padding:0 0 26px 44px}
.r-stations>li::before{content:"";position:absolute;left:5px;top:6px;width:13px;height:13px;border-radius:50%;background:var(--r-gold);box-shadow:0 0 0 5px var(--r-ink)}
.r-stations>li.is-todo::before{background:var(--r-ink);border:1.5px solid var(--r-gold-soft)}
.r-stations .r-k{color:var(--r-gold-soft);font-size:13px;font-weight:500}
.r-stations h3{margin:2px 0 6px;font-size:21px;line-height:1.25}
.r-stations p{color:var(--r-muted);font-size:15px}
.r-stations .r-btn{margin-top:12px}

/* ---------- dated trail: one stop per date, a ring with the day in Bebas ---------- */
.r-stops{list-style:none;position:relative;margin:0;padding:0}
.r-stops::before{content:"";position:absolute;left:27px;top:14px;bottom:14px;border-left:1.5px dashed var(--r-rule)}
.r-stops>li{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;padding:10px 0}
.r-stops>li.is-past{opacity:.78}
.r-day{position:relative;z-index:1;display:grid;place-items:center;align-content:center;width:56px;height:56px;border:1px solid var(--r-rule);border-radius:50%;background:var(--r-ink);line-height:1;text-align:center}
.r-day b{color:var(--r-cream);font:400 24px/1 var(--r-poster);letter-spacing:.03em}
.r-day span{margin-top:1px;color:var(--r-gold-soft);font-size:11.5px}
.r-k{color:var(--r-gold-soft);font-size:13px;font-weight:500}
.r-stops h3{margin:2px 0 4px;font-size:var(--r-t-h3);line-height:1.25}
.r-stops h3 a{display:inline-block;margin-block:-11px;padding-block:11px;color:var(--r-cream);text-decoration:none}
.r-stops h3 a:hover{text-decoration:underline}
.r-stops p{color:var(--r-muted);font-size:14.5px}
.r-stops p+p{margin-top:4px}
.r-stops .r-thumb{margin-top:10px}
.r-when{display:grid;gap:2px;margin:2px 0 6px;color:var(--r-muted);font-size:14px}
.r-when .r-chip{justify-self:start;margin-bottom:4px}
.r-cd-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;color:var(--r-muted);font-size:13.5px}
.r-cd{color:var(--r-gold);font:400 24px/1.05 var(--r-poster);letter-spacing:.04em;font-variant-numeric:tabular-nums}

/* ---------- dated list rows (news): the date in Bebas on the left ---------- */
.r-news{list-style:none;margin:0;padding:0}
.r-news>li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;padding:16px 0;border-top:1px solid var(--r-hair)}
.r-news>li:first-child{padding-top:4px;border-top:0}
.r-news time{color:var(--r-gold-soft);font:400 22px/1.05 var(--r-poster);letter-spacing:.03em}
.r-news time span{display:block;color:var(--r-faint);font:400 13px/1.4 var(--r-ui);letter-spacing:0}
.r-news h3{margin-bottom:4px;font-size:var(--r-t-h3);line-height:1.25}
.r-news h3 a{display:inline-block;margin-block:-11px;padding-block:11px;color:var(--r-cream);text-decoration:none}
.r-news h3 a:hover{text-decoration:underline}
.r-news p{color:var(--r-muted);font-size:15px}
.r-news .r-chip{margin-top:8px}
.r-prose{color:var(--r-muted);font-size:15.5px;max-width:68ch}
.r-prose p+p{margin-top:.8em}
.r-prose strong{color:var(--r-cream)}

/* ---------- icon rows: an icon, a title and a line, an optional action on the right ---------- */
.r-rows{list-style:none;margin:0;padding:0}
.r-rows>li{display:flex;align-items:center;gap:14px;min-height:64px;padding:12px 0;border-top:1px solid var(--r-hair)}
.r-rows>li:first-child{border-top:0}
.r-rows--card{margin:0 0 20px}
.r-rows>li>.r-i{color:var(--r-gold-soft);width:24px;height:24px}
.r-rows .r-t{flex:1;min-width:0;display:grid;gap:2px}
.r-rows .r-t strong{font-size:15.5px;font-weight:600;overflow-wrap:anywhere}
.r-rows .r-t span{color:var(--r-muted);font-size:14px}
.r-rows a.r-rowlink{display:flex;align-items:center;gap:14px;flex:1;min-width:0;min-height:44px;color:var(--r-cream);text-decoration:none}
.r-rows a.r-rowlink:hover strong{text-decoration:underline}
.r-rows a.r-rowlink .r-t strong{font:600 18px/1.25 var(--r-display)}
.r-rows a.r-rowlink>.r-i{flex:none;margin-left:auto;color:var(--r-faint)}

/* ---------- alert cards: a coloured rule on the left says how urgent ---------- */
.r-alerts{list-style:none;display:grid;gap:12px;grid-template-columns:minmax(0,1fr);margin:0 0 36px;padding:0}
@media (min-width:760px){.r-alerts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1180px){.r-alerts--4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.r-alert{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;align-items:start;padding:14px 16px;border:1px solid var(--r-hair);border-left:3px solid var(--r-info);border-radius:var(--r-radius);background:var(--r-sheet)}
.r-alert>*{grid-column:2}
.r-alert>.r-i{grid-column:1;grid-row:1;margin-top:1px;color:var(--r-info)}
.r-alert strong{font-size:15px;font-weight:600;line-height:1.3}
.r-alert p{color:var(--r-muted);font-size:14px}
.r-alert a{justify-self:start;display:inline-flex;align-items:center;min-height:44px;margin-bottom:-8px;font-size:14.5px;font-weight:500}
.r-alert--ok{border-left-color:var(--r-ok)}.r-alert--ok>.r-i{color:var(--r-ok)}
.r-alert--wait{border-left-color:var(--r-wait)}.r-alert--wait>.r-i{color:var(--r-wait)}
.r-alert--bad{border-left-color:var(--r-bad)}.r-alert--bad>.r-i{color:var(--r-bad)}
.r-alert--gold{border-left-color:var(--r-gold)}.r-alert--gold>.r-i{color:var(--r-gold-soft)}
/* a one-line note between two gold rules */
.r-note{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-top:1px solid var(--r-rule-soft);border-bottom:1px solid var(--r-rule-soft);color:var(--r-muted);font-size:14.5px}
.r-note>.r-i{margin-top:2px;color:var(--r-gold-soft)}
.r-note strong{color:var(--r-cream)}

/* ---------- poster stats: numbers in Bebas, small labels, gold rules between ---------- */
.r-stats{list-style:none;display:flex;flex-wrap:wrap;gap:10px 0;margin:0;padding:0}
.r-stats li{display:grid;padding:0 20px;border-left:1px solid var(--r-rule)}
.r-stats li:first-child{padding-left:0;border-left:0}
.r-stats b{color:var(--r-cream);font:400 30px/1 var(--r-poster);letter-spacing:.04em}
.r-stats span{color:var(--r-faint);font-size:12.5px}

/* ---------- covers: a shelf of tiles that scrolls on phones and becomes a grid from 1024 px ---------- */
.r-shelf{list-style:none;position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,44%);gap:14px;margin:0;padding:0 0 6px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--r-rule) transparent}
.r-shelf>li{min-width:0;scroll-snap-align:start}
@media (min-width:1024px){
  .r-shelf{grid-auto-flow:row;grid-template-columns:repeat(var(--cols,6),minmax(0,1fr));overflow:visible}
  .r-shelf--c1{--cols:1}.r-shelf--c2{--cols:2}.r-shelf--c3{--cols:3}.r-shelf--c4{--cols:4}.r-shelf--c5{--cols:5}.r-shelf--c6{--cols:6}
  .r-shelf .r-wide{grid-column:span 2}
  .r-shelf .r-wide .r-tile__img{aspect-ratio:5/3}
}
.r-grid-tiles{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px;margin:0;padding:0}
@media (min-width:760px){.r-grid-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1024px){.r-grid-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px}}
.r-tile{display:grid;align-content:start;gap:8px;min-width:0;color:var(--r-cream);text-decoration:none}
.r-tile__img{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;border:1px solid var(--r-hair);border-radius:var(--r-radius);background:var(--r-sheet)}
.r-tile__img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform var(--r-slow) var(--r-ease)}
.r-tile:hover .r-tile__img img{transform:scale(1.03)}
.r-tile b{font:600 18px/1.2 var(--r-display);overflow-wrap:anywhere}
.r-tile span{color:var(--r-faint);font-size:13.5px}
.r-tile .r-chip{justify-self:start}
.r-tile:hover b{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
/* a feature: one big picture and its words beside it */
.r-feature{display:grid;gap:20px;align-items:center;grid-template-columns:minmax(0,1fr)}
@media (min-width:1024px){.r-feature{grid-template-columns:7fr 5fr;gap:32px}}
.r-feature__img{display:block;aspect-ratio:16/9;overflow:hidden;border:1px solid var(--r-rule);border-radius:var(--r-radius);background:var(--r-sheet)}
.r-feature__img img{display:block;width:100%;height:100%;object-fit:cover}
.r-feature__t{display:grid;gap:14px;align-content:center}
.r-feature__t h2{font-size:clamp(32px,6vw,44px);line-height:1.05;font-variation-settings:"opsz" 144}
.r-feature__t p{color:var(--r-muted);font-size:16.5px}
.r-feature__t .r-chip{justify-self:start}

/* a picture in a box that keeps its place while it loads */
.r-thumb{position:relative;display:block;overflow:hidden;border:1px solid var(--r-hair);border-radius:var(--r-radius);background:var(--r-sheet)}
.r-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.r-thumb--16x9{aspect-ratio:16/9}
.r-thumb--sq{flex:none;width:56px;height:56px}
.r-thumb--none{display:grid;place-items:center;color:var(--r-faint)}

/* ---------- Remix our posts: a rules box, then one card per live post (stacked at 320 px, picture beside the text from 760 px) ---------- */
/* Remix our posts: a folder of text cards, no pictures (Amrit, 2026-10-16). One column on a phone, two from 640, three from 1000. */
.r-folder{display:flex;align-items:center;gap:16px;min-height:76px;padding:14px 16px;border:1px solid var(--r-hair);border-radius:var(--r-radius);background:var(--r-sheet);color:var(--r-cream);text-decoration:none}
.r-folder:hover{border-color:var(--r-gold);background:var(--r-sheet-2)}
.r-folder .r-t{flex:1;min-width:0;display:grid;gap:2px}
.r-folder .r-t strong{font:600 19px/1.25 var(--r-display)}
.r-folder .r-t span{color:var(--r-muted);font-size:14.5px}
.r-folder>.r-i:last-child{color:var(--r-faint)}
.r-foldericon{flex:none;display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--r-rule-soft);border-radius:var(--r-radius);background:var(--r-gold-wash);color:var(--r-gold-soft)}
.r-remix-line{margin:0 0 4px;max-width:60ch;color:var(--r-muted)}
.r-remix-rules{margin:0 0 24px;border-top:0;border-bottom:1px solid var(--r-hair)}
.r-remix-rules>summary{min-height:48px;color:var(--r-gold-soft)}
.r-remix-rules ul{margin:0;padding-left:20px;display:grid;gap:6px;color:var(--r-muted);font-size:15px;line-height:1.5}
.r-remix-rules strong{color:var(--r-cream)}
.r-remix-rules__lic{margin:12px 0 0;padding-top:12px;border-top:1px solid var(--r-rule-soft);color:var(--r-muted);font-size:15px;line-height:1.5;text-wrap:pretty}
.r-remix-nav{margin:0 0 28px}
.r-remix-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.r-remix-nav a{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border:1px solid var(--r-hair-2);border-radius:999px;color:var(--r-cream);font-size:15px;font-weight:500;text-decoration:none}
.r-remix-nav a span{color:var(--r-gold-soft);font:400 18px/1 var(--r-poster);letter-spacing:.04em}
.r-remix-nav a:hover{border-color:var(--r-gold);background:var(--r-gold-wash)}
.r-remix-nav a[aria-current=page]{border-color:var(--r-gold);background:var(--r-gold-wash)}
.r-sh__link{color:inherit;text-decoration:none}
.r-sh__link:hover{text-decoration:underline;text-underline-offset:4px}
.r-remix-more{margin:16px 0 0}
.r-remix-more .r-btn{min-height:44px}
.r-pager{margin:28px 0 0}
.r-pager ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}
.r-pager li:first-child{justify-self:start}
.r-pager li:last-child{justify-self:end}
.r-pager .r-btn{min-height:44px;gap:6px}
.r-pager__at{color:var(--r-muted);font-size:14px;text-align:center;font-variant-numeric:tabular-nums}
@media (max-width:440px){.r-pager ul{grid-template-columns:1fr 1fr}.r-pager__at{grid-column:1/-1;order:-1;padding-bottom:4px}.r-pager li:first-child{grid-column:1}.r-pager li:last-child{grid-column:2}}
.r-remix-list{align-items:start}
.r-remix h4{font-size:1.17em}
.r-remix-board+.r-remix-board{margin-top:28px}
.r-remix-board__h{display:flex;align-items:baseline;gap:12px;margin:0 0 12px}
.r-remix-board__h h3{font-size:var(--r-t-h3);line-height:1.25;overflow-wrap:anywhere}
.r-remix{container:remix/inline-size;display:flex;flex-direction:column;gap:8px;min-width:0;padding:12px;border:1px solid var(--r-hair);border-radius:var(--r-radius);background:var(--r-sheet)}
.r-remix__meta{display:flex;align-items:center;gap:6px;margin:0;min-width:0;color:var(--r-muted);font-size:13px;line-height:1.3;white-space:nowrap}
.r-remix__meta>.r-i{flex:none;color:var(--r-gold-soft)}
.r-remix__meta time{flex:none;color:var(--r-gold-soft);font-weight:600}
.r-remix__nets{min-width:0;overflow:hidden;text-overflow:ellipsis}
.r-remix h3{margin:0;font:600 15px/1.27 var(--r-display);text-wrap:balance;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:2.54em}
.r-remix__act{min-width:0}
.r-remix__pv{position:relative;overflow:hidden;border:1px solid var(--r-hair);border-radius:var(--r-radius);background:var(--r-ink)}
.r-remix__pv--tall{aspect-ratio:9/16}
.r-remix__pv--wide{aspect-ratio:4/5}
.r-remix__pvlink{display:block;width:100%;height:100%;color:var(--r-faint)}
.r-remix__pv img,.r-remix__vid{display:block;width:100%;height:100%;object-fit:cover;background:var(--r-ink)}
.r-remix__pvnone{display:grid;place-items:center;width:100%;height:100%}
.r-remix__play{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:44px;height:44px;margin:-22px 0 0 -22px;padding:0;border:1px solid rgba(244,236,217,.4);border-radius:50%;background:rgba(30,27,23,.7);color:var(--r-cream);cursor:pointer;touch-action:manipulation}
.r-remix__play[hidden]{display:none}
.r-remix__play:hover{background:rgba(30,27,23,.88);border-color:var(--r-gold)}
.r-remix__play:focus-visible,.r-remix__pvlink:focus-visible{outline:var(--r-focus);outline-offset:-3px}
.r-remix__play .r-i{margin-left:2px}
.r-remix__vid:focus-visible{outline:var(--r-focus);outline-offset:-3px}
.r-remix__act>.r-btn,.r-remix__stills>summary{width:100%;min-height:44px;padding:0 8px;gap:6px;font-size:14px;border:1.5px solid rgba(244,236,217,.55);background:var(--r-ink);color:var(--r-cream)}
.r-remix__act>.r-btn:hover,.r-remix__stills>summary:hover{border-color:var(--r-gold);background:var(--r-sheet-2);color:var(--r-cream)}
.r-remix__size{font-weight:400;font-size:13px;color:var(--r-muted);font-variant-numeric:tabular-nums}
.r-remix__stills>summary{list-style:none;cursor:pointer}
.r-remix__stills>summary::-webkit-details-marker{display:none}
.r-remix__stills>summary .r-d__car{margin-left:auto}
.r-remix__stills[open]>summary .r-d__car{transform:rotate(180deg)}
.r-remix__slides{list-style:none;margin:6px 0 0;padding:0;display:grid}
.r-remix__slides li{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:52px;border-top:1px solid var(--r-hair);font-size:14px}
.r-remix__slides li>span{display:grid;min-width:0}
.r-remix__slides small{color:var(--r-faint);font-size:12.5px;font-variant-numeric:tabular-nums}
.r-remix>.r-d>summary{min-height:44px;font-size:14px;line-height:1.3;gap:8px;justify-content:space-between}
.r-remix>.r-d>summary .r-d__car{flex:none}
.r-remix__links{list-style:none;margin:0 0 6px;padding:0;display:grid}
.r-remix__links a{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--r-gold-soft);font-size:14px;font-weight:600;overflow-wrap:anywhere}
.r-remix__links a:hover{text-decoration:underline}
.r-remix .r-d__body{font-size:14px;line-height:1.5}
.r-remix .r-d__body p{margin:0 0 10px}
.r-remix .r-d__body p:last-child{margin-bottom:0}
.r-remix>.r-d{margin-top:2px}
@media (max-width:389px){.r-remix__act>.r-btn .r-remix__size{display:none}}
.r-remix__nets{display:none}
.r-remix__on{color:var(--r-muted)}
.r-remix__l{display:none}
.r-remix__lbl{min-width:0}
.r-remix>.r-d>summary{flex-wrap:nowrap}
@media (min-width:760px){.r-remix__nets{display:block}.r-remix__on{display:none}.r-remix__s{display:none}.r-remix__l{display:inline}.r-remix h3{-webkit-line-clamp:2;line-clamp:2}}
@media (min-width:1024px){.r-remix{padding:16px;gap:10px}.r-remix h3{font-size:16.5px}}
.r-remix__cap{white-space:pre-line;overflow-wrap:anywhere}
.r-remix__arrow{position:absolute;top:50%;display:grid;place-items:center;width:44px;height:44px;margin-top:-22px;padding:0;border:1px solid rgba(244,236,217,.4);border-radius:50%;background:rgba(30,27,23,.7);color:var(--r-cream);cursor:pointer;touch-action:manipulation}
.r-remix__arrow[hidden],.r-remix__ctr[hidden]{display:none}
.r-remix__arrow--prev{left:8px}
@media (max-width:359px){.r-remix__arrow{width:36px;height:36px;margin-top:-18px}}
.r-remix__arrow--next{right:8px}
.r-remix__flip{transform:scaleX(-1)}
.r-remix__arrow:hover{background:rgba(30,27,23,.88);border-color:var(--r-gold)}
.r-remix__arrow:focus-visible{outline:var(--r-focus);outline-offset:2px}
.r-remix__ctr{position:absolute;right:8px;bottom:8px;padding:3px 10px;border-radius:999px;background:rgba(30,27,23,.7);color:var(--r-cream);font-size:13px;line-height:1.4;font-variant-numeric:tabular-nums;pointer-events:none}
.r-remix__act--pair{display:grid;grid-template-columns:1fr}
.r-remix__act--pair>.r-remix__stills{min-width:0}
.r-remix__act--pair>.r-remix__stills[open],.r-remix__act--pair:has(>.r-remix__stills[open])>.r-btn{grid-column:1/-1}
/* Download all beside Stills: the size sits on its own line inside the button. Side by side only where the tile is wide enough (a viewport of 360 px
   or more and a tile of 220 px or more of content); a narrower tile and the 320 px phone stack the two buttons, the size inline at 320. */
.r-remix__act--pair>.r-btn{flex-wrap:wrap;justify-content:center;align-content:center;column-gap:6px;row-gap:0;text-align:center;line-height:1.25}
.r-remix__act--pair>.r-btn .r-remix__size{display:inline;flex-basis:100%}
.r-remix__act--pair{gap:8px}
.r-remix__act--pair>.r-remix__stills>summary{min-width:0;justify-content:center}
.r-remix__act--pair>.r-remix__stills>summary .r-d__car{margin-left:0}
@media (max-width:359px){.r-remix__act--pair>.r-btn .r-remix__size{flex-basis:auto}}
@media (min-width:360px){@container remix (min-width:220px){.r-remix__act--pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.r-remix__act--pair>.r-remix__stills:not([open])>summary{height:100%}}}

/* ---------- files: a tile per file with Preview and Download ---------- */
.r-files{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px;margin:0;padding:0}
@media (min-width:760px){.r-files{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1024px){.r-files{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px}}
.r-file{display:grid;align-content:start;gap:8px;min-width:0}
.r-file .r-thumb{aspect-ratio:4/5}
.r-file .r-thumb img{object-fit:cover}
.r-file__t{display:grid;gap:2px;min-width:0}
.r-file__t strong{font-size:14.5px;font-weight:600;overflow-wrap:anywhere}
.r-file__t span{color:var(--r-faint);font-size:12.5px}
.r-file__a{display:flex;flex-wrap:wrap;gap:6px}
.r-file__a .r-btn{flex:1 1 auto;min-width:0;padding:0 10px;font-size:14px}

/* breadcrumbs */
.r-crumbs{margin-bottom:14px;font-size:14px}
.r-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;margin:0;padding:0;color:var(--r-faint)}
.r-crumbs li{display:inline-flex;align-items:center;min-width:0}
.r-crumbs li+li::before{content:"/";margin:0 10px;color:var(--r-rule)}
.r-crumbs a{display:inline-flex;align-items:center;min-height:44px}
.r-crumbs [aria-current]{color:var(--r-muted);overflow-wrap:anywhere}

/* ---------- forms: a label above every field, a hint under it, an error under that ---------- */
.r-form{display:grid;gap:var(--r-s4);max-width:520px}
.r-form--wide{max-width:none}
.r-form>.r-btn,.r-form>button{justify-self:start}
.r-form>.r-btn--block{justify-self:stretch}
.r-field{display:grid;gap:6px;min-width:0}
.r-field>label,.r-label,.r-legend{color:var(--r-cream);font-size:14.5px;font-weight:600}
.r-hint{color:var(--r-faint);font-size:13.5px}
.r-input,.r-field input:not([type=checkbox]):not([type=radio]),.r-field select,.r-field textarea{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--r-field);border-radius:var(--r-radius);background:var(--r-ink);color:var(--r-cream);font-size:16px;transition:border-color var(--r-fast)}
.r-field textarea{min-height:96px;resize:vertical}
.r-field select,.r-select{appearance:none;-webkit-appearance:none;padding-right:38px;background:var(--r-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 256 256' fill='%23E8C47A'%3E%3Cpath d='M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z'/%3E%3C/svg%3E") no-repeat right 12px center;color:var(--r-cream)}
.r-field select option{background:var(--r-ink);color:var(--r-cream)}
.r-input:hover,.r-field input:hover,.r-field select:hover,.r-field textarea:hover{border-color:rgba(244,236,217,.55)}
.r-input:focus-visible,.r-field input:focus-visible,.r-field select:focus-visible,.r-field textarea:focus-visible{outline:2px solid var(--r-gold-soft);outline-offset:1px;border-color:transparent}
.r-field [aria-invalid=true]{border-color:var(--r-bad)}
.r-input--code{max-width:220px;font:400 30px/1 var(--r-poster)!important;letter-spacing:.24em;font-variant-numeric:tabular-nums}
.r-msg{display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height:1.45}
/* the icon is drawn by CSS so the message element holds only its words (announced as they are) */
.r-msg::before{content:"";flex:none;width:18px;height:18px;margin-top:1px;background:currentColor;-webkit-mask:var(--r-msg-i) center/contain no-repeat;mask:var(--r-msg-i) center/contain no-repeat}
.r-msg--err{--r-msg-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm-8-80V80a8,8,0,0,1,16,0v56a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,172Z'/%3E%3C/svg%3E")}
.r-msg--ok{--r-msg-i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z'/%3E%3C/svg%3E")}
.r-msg--err{color:var(--r-bad)}
.r-msg--ok{color:var(--r-ok)}
.r-msg--info{color:var(--r-muted)}
.r-msg--info::before{display:none}
.r-fieldset{min-width:0;margin:0;padding:0;border:0}
.r-legend{margin-bottom:8px;padding:0}
.r-chk{display:flex;align-items:flex-start;gap:12px;min-height:44px;padding:10px 0;cursor:pointer;font-size:15px;line-height:1.45}
.r-chk input{flex:none;width:22px;height:22px;margin:0;accent-color:var(--r-gold)}
/* segmented radios: the whole label is the hit target */
.r-segr{display:inline-flex;flex-wrap:wrap;max-width:100%;overflow:hidden;border:1px solid var(--r-rule);border-radius:var(--r-radius)}
.r-segr label{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 16px;border-left:1px solid var(--r-rule);cursor:pointer;font-size:15px;transition:background-color var(--r-fast)}
.r-segr label:first-child{border-left:0}
.r-segr label:hover{background:rgba(200,150,43,.08)}
.r-segr label:has(input:checked){background:rgba(200,150,43,.16)}
.r-segr label:has(input:focus-visible){outline:var(--r-focus);outline-offset:-2px}
.r-segr input{flex:none;width:18px;height:18px;margin:0;accent-color:var(--r-gold)}
.r-segr input:focus-visible{outline:none}
@media (max-width:479px){.r-segr{display:flex;flex-direction:column}.r-segr label{border-left:0;border-top:1px solid var(--r-rule)}.r-segr label:first-child{border-top:0}}

/* ---------- disclosure ---------- */
.r-d{border-top:1px solid var(--r-hair)}
.r-d>summary{display:flex;align-items:center;gap:12px;min-height:54px;cursor:pointer;list-style:none;font-size:15px;font-weight:600}
.r-d>summary::-webkit-details-marker{display:none}
.r-d>summary>.r-i{color:var(--r-gold-soft)}
.r-d__c{margin-left:auto;color:var(--r-faint);font-size:13.5px;font-weight:500}
.r-d__car{color:var(--r-faint);transition:transform var(--r-fast)}
.r-d[open]>summary .r-d__car{transform:rotate(180deg)}
.r-d>summary:hover{color:var(--r-gold-soft)}
.r-d__body{padding:0 0 18px}
.r-d--bad>summary,.r-d--bad>summary>.r-i{color:var(--r-bad)}

/* ---------- tables: a header row with a gold rule, numbers right-aligned, scroll sideways inside their box ---------- */
.r-table-wrap{position:relative;max-width:100%;overflow-x:auto;border:1px solid var(--r-hair);border-radius:var(--r-radius);overscroll-behavior-x:contain}
.r-table{width:100%;border-collapse:collapse;font-size:14.5px;font-variant-numeric:tabular-nums}
.r-table caption{padding:0 0 10px;color:var(--r-muted);font-size:14px;text-align:left}
.r-table th,.r-table td{padding:12px 14px;border-bottom:1px solid var(--r-hair);text-align:left;vertical-align:top}
.r-table thead th{position:sticky;top:0;background:var(--r-sheet);border-bottom:1px solid var(--r-rule);color:var(--r-faint);font-size:13px;font-weight:500;white-space:nowrap}
.r-table tbody tr:hover{background:var(--r-sheet)}
.r-table tbody tr:last-child>*{border-bottom:0}
.r-table .r-num{text-align:right;white-space:nowrap}

/* ---------- empty and error states: one line that says what is going on, and the way forward ---------- */
.r-empty{display:grid;justify-items:start;gap:10px;padding:24px 20px;border:1px dashed var(--r-rule);border-radius:var(--r-radius)}
.r-empty>.r-i{width:28px;height:28px;color:var(--r-gold-soft)}
.r-empty strong{font:600 18px/1.25 var(--r-display)}
.r-empty p{color:var(--r-muted);font-size:15px;max-width:56ch}
.r-empty--bad{border-color:rgba(242,184,168,.45)}
.r-empty-line{display:flex;align-items:flex-start;gap:12px;padding:6px 0;color:var(--r-muted);font-size:15px}
.r-empty-line>.r-i{margin-top:1px;color:var(--r-gold-soft)}
.r-empty-line--bad>.r-i{color:var(--r-bad)}
.r-empty--bad>.r-i{color:var(--r-bad)}

/* ---------- the signed-out frame: one centred sheet ---------- */
.r-auth{display:grid;gap:24px;width:100%;max-width:460px;margin:8px auto 0}
.r-auth__card{display:grid;gap:16px;padding:24px 20px;border:1px solid var(--r-rule);border-radius:var(--r-radius);background:var(--r-sheet-2)}
@media (min-width:480px){.r-auth__card{padding:30px 28px}}
.r-auth__card h1{font-size:clamp(28px,7vw,34px);line-height:1.1;font-variation-settings:"opsz" 144}
.r-auth__card>p{color:var(--r-muted)}
.r-auth__aside{display:grid;justify-items:start;gap:6px;padding-top:14px;border-top:1px solid var(--r-hair);color:var(--r-muted);font-size:14.5px}
.r-auth__aside a{display:inline-flex;align-items:center;min-height:44px}
.r-auth__aside form{margin:0}
.r-or{display:flex;align-items:center;gap:12px;color:var(--r-faint);font-size:13.5px}
.r-or::before,.r-or::after{content:"";flex:1;height:1px;background:var(--r-hair)}

/* ---------- the QR code needs a light ground to scan ---------- */
.r-qr{justify-self:start;display:inline-grid;place-items:center;width:216px;max-width:100%;padding:12px;border-radius:var(--r-radius);background:#FFFDF8}
.r-qr svg{display:block;width:100%;height:auto}
.r-secret{justify-self:start;display:inline-block;max-width:100%;padding:10px 12px;border:1px dashed var(--r-rule);border-radius:var(--r-radius);background:var(--r-ink);color:var(--r-cream);font:400 22px/1.35 var(--r-poster);letter-spacing:.12em;overflow-wrap:anywhere}
.r-steps{list-style:none;counter-reset:r-step;display:grid;gap:28px;margin:0;padding:0}
.r-steps>li{position:relative;display:grid;gap:12px;padding-left:44px;counter-increment:r-step}
.r-steps>li::before{content:counter(r-step);position:absolute;left:0;top:-2px;display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--r-rule);border-radius:50%;color:var(--r-gold-soft);font:400 18px/1 var(--r-poster)}


/* ---------- the picture viewer (a native modal dialog) ---------- */
.r-lb{width:min(1100px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--r-rule);border-radius:var(--r-radius);background:var(--r-ink);color:var(--r-cream);overscroll-behavior:contain}
.r-lb::backdrop{background:rgba(15,13,11,.82)}
.r-lb__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 8px 8px 16px;border-bottom:1px solid var(--r-hair)}
.r-lb__t{min-width:0;font:600 16px/1.3 var(--r-ui);overflow-wrap:anywhere}
.r-lb__stage{display:grid;place-items:center;padding:12px;background:var(--r-sheet-2)}
.r-lb__stage img{display:block;max-width:100%;max-height:calc(100dvh - 190px);width:auto;height:auto;object-fit:contain}
.r-lb__foot{display:flex;justify-content:flex-end;padding:10px 12px;border-top:1px solid var(--r-hair)}
html.jr-lb-open,html:has(dialog.r-lb[open]){overflow:hidden}

/* ---------- document previews: a PDF's first page, a text file's first lines, and the text viewer ---------- */
.r-thumb--doc{background:var(--r-sheet-2)}
.r-file .r-thumb--doc img{object-fit:contain}
.r-thumb--text{display:block;padding:12px 12px 0;background:var(--r-sheet);border-color:var(--r-hair-2)}
.r-thumb--text::after{content:"";position:absolute;left:0;right:0;bottom:0;height:42%;background:linear-gradient(to bottom,rgba(36,32,27,0),var(--r-sheet))}
.r-excerpt{display:block;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--r-muted);font:400 var(--r-t-xs)/1.5 var(--r-ui)}
.r-tv[open]{display:flex;flex-direction:column;width:min(720px,calc(100vw - 24px))}
.r-tv__body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:16px;background:var(--r-sheet-2)}
.r-tv__pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--r-cream);font:400 var(--r-t-md)/1.6 var(--r-ui)}
.r-tv__foot{align-items:center;gap:8px;flex-wrap:wrap}
.r-tv [hidden]{display:none}
.r-tv__say{margin-right:auto;color:var(--r-ok);font-size:var(--r-t-sm)}

/* ---------- small helpers the pages share ---------- */
.r-narrow{max-width:820px}
.r-sec-gap{margin-bottom:var(--r-s5)}
.r-sec-top{margin-top:var(--r-s7)}
.r-meta{margin:2px 0 8px;color:var(--r-faint);font-size:13.5px}
.r-edited{font-style:italic}
.r-tlink{display:inline-flex;align-items:center;min-height:44px;font-weight:500}
.r-ph__chip{justify-self:start}
.r-status strong{color:var(--r-cream)}
.r-actions--end{margin-top:var(--r-s6);padding-top:var(--r-s4);border-top:1px solid var(--r-hair)}
.r-shop-soon{cursor:default}
.r-shop-soon:hover{background:transparent;border-color:var(--r-rule);color:var(--r-gold-soft)}
.r-pk{display:grid;gap:6px}
.r-route--3{--n:3}.r-route--4{--n:4}.r-route--5{--n:5}
.r-rows>li.r-top{align-items:flex-start}
.r-rows>li.r-top>.r-i{margin-top:2px}
.r-rows .r-d{margin-top:6px}
.r-gift{display:flex;align-items:flex-start;gap:14px}
.r-gift>.r-i{width:28px;height:28px;color:var(--r-gold-soft)}
.r-gift p{font-size:15.5px}
.r-stop{display:grid;align-content:start;gap:2px;min-width:0}
.r-stop>p{color:var(--r-muted);font-size:14.5px}
.r-stop .r-thumb{margin-top:10px}
.r-fold{margin-top:var(--r-s6)}
.r-fold>summary .r-n{margin-left:4px}
.r-fold .r-stops{margin-top:4px}
.r-auth .r-h3{margin-bottom:6px}
.r-auth+.r-auth{margin-top:var(--r-s6)}
.r-alerts{list-style:none}
.r-alerts--stack{grid-template-columns:minmax(0,1fr);margin:0}
/* Account: one card per way to log in */
.r-ways{list-style:none;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));margin:0 0 var(--r-s5);padding:0}
.r-way{align-content:start;gap:12px;padding:20px}
.r-way h3{font-size:20px}
.r-way .r-form{max-width:none}
.r-way .r-rows>li{min-height:0}
/* the terms text keeps its own markup (it is hashed for consent), so its classes are styled here */
.r-terms .jc-prose{max-width:72ch;padding:0!important;color:var(--r-muted);font-size:15.5px;line-height:1.7}
.r-terms .jc-prose h2{margin:1.6em 0 .5em;color:var(--r-cream);font-size:22px;scroll-margin-top:calc(var(--r-bar-h) + 20px)}
.r-terms .jc-prose p{margin:0 0 .9em}
.r-terms .jc-prose ul,.r-terms .jc-prose ol{margin:0 0 .9em;padding-left:1.2em}
.r-terms .jc-sum{color:var(--r-cream);font-size:16.5px}
.r-terms .jc-jump{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 26px;padding:0}
.r-terms .jc-jump a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--r-hair-2);border-radius:999px;color:var(--r-cream);font-size:13.5px;text-decoration:none}
.r-terms .jc-jump a:hover{border-color:var(--r-gold)}
.r-terms .jc-toc-m{margin:0 0 26px;padding:0 16px;border:1px solid var(--r-rule);border-radius:var(--r-radius);background:var(--r-sheet)}
.r-terms .jc-toc-m summary{display:flex;align-items:center;min-height:48px;cursor:pointer;color:var(--r-cream);font-weight:600;list-style:none}
.r-terms .jc-toc-m summary::-webkit-details-marker{display:none}
.r-terms .jc-toc-m summary::after{content:"+";margin-left:auto;color:var(--r-gold-soft);font-size:1.3rem}
.r-terms .jc-toc-m[open] summary::after{content:"\2212"}
.r-terms .jc-toc{list-style:none;margin:0;padding:0 0 10px}
.r-terms .jc-toc a{display:flex;align-items:center;min-height:44px;color:var(--r-muted);font-size:14.5px;text-decoration:none}
@media (max-width:679px){.r-terms .jc-jump-d{display:none}}
@media (min-width:680px){.r-terms .jc-toc-m{display:none}}
.r-terms .jc-table-wrap{overflow-x:auto;margin:0 0 16px;border:1px solid var(--r-hair);border-radius:var(--r-radius)}
.r-terms .jc-table{width:100%;border-collapse:collapse;font-size:14.5px}
.r-terms .jc-table th,.r-terms .jc-table td{padding:10px 12px;border-bottom:1px solid var(--r-hair);text-align:left;vertical-align:top}
.r-terms .jc-table .n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.r-form+.r-terms{margin-top:var(--r-s6)}

/* ---------- motion: off when asked ---------- */
@media (prefers-reduced-motion:reduce){
  :where(.r) *,:where(.r) *::before,:where(.r) *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
  .r-tile:hover .r-tile__img img{transform:none}
}

/* Resources search (2026-10-16) */
.r-search{display:grid;gap:8px;max-width:560px;margin:0 0 20px}
.r-search .r-input{min-width:0;font-size:16px}
.r-search__status:empty{display:none}
.r-search__status,.r-search .r-hint{margin:0}
.r-search__none{margin:0}
.r-search__term{color:var(--r-cream);overflow-wrap:anywhere}

/* Download card on the pass (roadmap MM): a disclosure in the pass's top row. On a phone, and whenever it is open, it takes its own line under the tier line. */
.r-pass__top{flex-wrap:wrap}
.r-pass__top>div:first-child{flex:1 1 0;min-width:0}
.r-pass__dl{flex:0 0 auto;order:2}
.r-pass__glint{order:3}
.r-pass__dl[open]{flex-basis:100%;order:4}
.r-pass__dl summary{list-style:none}
.r-pass__dl summary::-webkit-details-marker{display:none}
.r-pass__dl[open] .r-d__car{transform:rotate(180deg)}
.r-pg__menu{margin-top:12px;padding:12px 14px;border:1px solid var(--r-hair-2);border-radius:var(--r-radius);background:var(--r-sheet)}
.r-pg__prev{width:min(240px,100%);margin:0 0 12px;border-radius:10px;overflow:hidden;border:1px solid var(--r-hair-2)}
.r-pg__prev svg{display:block;width:100%;height:auto}
.r-pg__what{margin:0 0 12px;font-size:14px;line-height:1.5}
.r-pg__list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.r-pg__list>li{display:grid;grid-template-columns:minmax(0,5.5rem) minmax(0,1fr);align-items:center;gap:8px;font-size:14px}
.r-pg__btns{display:flex;flex-wrap:wrap;gap:8px}
.r-pgs__body{display:grid;gap:16px;align-items:start}
.r-pgs .r-pg__prev{margin:0}
@media (min-width:600px){.r-pgs__body{grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:24px}}
@media (max-width:479px){.r-pass__dl{flex-basis:100%;order:4}.r-pass__top>div:first-child{flex-basis:0}}
