:root{
  --safe-top:env(safe-area-inset-top,0px);
  --safe-right:env(safe-area-inset-right,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --safe-left:env(safe-area-inset-left,0px);
}
button,.app-action,.mobile-nav__item{font:inherit}
.app-status{position:fixed;z-index:1002;top:calc(8px + var(--safe-top));left:50%;transform:translateX(-50%);max-width:calc(100% - 24px);display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line2);border-radius:9px;background:#171b25;color:var(--txt);box-shadow:var(--sh);font-size:12px}
.app-status[hidden]{display:none}.app-status strong{color:var(--gold2)}.app-status button{min-height:36px;border:0;border-radius:7px;padding:0 12px;background:var(--gold);color:#161007;font-weight:800}
.favorite-btn{min-width:44px;min-height:44px;border:1px solid var(--line2);border-radius:10px;background:var(--panel);color:var(--dim);cursor:pointer;font-weight:700}.favorite-btn.is-following{border-color:var(--gold);color:var(--gold2);background:rgba(232,181,63,.1)}
.phead .favorite-btn{margin-left:auto;align-self:flex-start}
.mobile-nav,.app-sheet,.mobile-division-picker{display:none}

@media(max-width:700px){
  :root{
    --app-gutter:14px;
    --app-control-h:40px;
    --app-nav-h:64px;
    --app-row-line:#202632;
    --app-surface:#11151d;
    --app-surface-2:#151a23;
  }
  html{scroll-padding-bottom:calc(var(--app-nav-h) + 22px + var(--safe-bottom));background:var(--bg)}
  body{padding-left:var(--safe-left);padding-right:var(--safe-right);padding-bottom:calc(var(--app-nav-h) + var(--safe-bottom));font-size:15px;line-height:1.45;background:radial-gradient(540px 260px at 88% -8%,rgba(232,181,63,.10),transparent 65%),var(--bg)}
  .app-status{top:auto;bottom:calc(var(--app-nav-h) + 8px + var(--safe-bottom));left:var(--app-gutter);right:var(--app-gutter);transform:none;max-width:none;width:auto;justify-content:space-between;border-radius:11px;background:rgba(20,24,33,.98);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}

  /* Compact application header */
  header{padding:calc(10px + var(--safe-top)) var(--app-gutter) 11px;background:linear-gradient(180deg,#0f1218,#090b0f);border-bottom-color:#1d232d}
  header:after{height:2px}
  .hd{display:flex;flex-direction:column;padding:0}.brandrow{order:1;gap:7px;align-items:center}.wordmark{font-size:33px;line-height:.92;letter-spacing:.055em}.beta{top:-2px;font-size:10px;padding:2px 6px}.lockup{order:2;font-size:9.5px;letter-spacing:.13em;margin-top:5px;color:#adb6c2}.tagline,.hero{display:none}
  .gsearchrow{order:3;margin:9px 0 0;width:100%}.gsr{display:block;width:100%;max-width:none;height:42px;min-height:42px;margin:0;padding:0 12px;border-radius:10px;background:#0d1016;font-size:16px;text-align:left}
  .navwrap{display:flex;order:4;justify-content:flex-start;flex-wrap:nowrap;gap:7px;margin:10px calc(-1 * var(--app-gutter)) -1px;padding:0 var(--app-gutter) 4px;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .navwrap::-webkit-scrollbar{display:none}.navwrap #nav-events{display:contents}.navwrap .navlink{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:38px;padding:0 11px;border-radius:9px;font-size:10.5px}

  /* One reliable division control replaces ten oversized scrolling buttons. */
  .mobile-division-picker{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:9px var(--app-gutter);border-bottom:1px solid var(--line);background:#0a0c11}
  .mobile-division-picker label{color:var(--dim2);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
  .mobile-division-control{position:relative;min-width:0}
  .mobile-division-control select{appearance:none;-webkit-appearance:none;width:100%;height:var(--app-control-h);min-height:var(--app-control-h);padding:0 36px 0 12px;border:1px solid var(--line2);border-radius:10px;background:var(--panel);color:var(--txt);font:700 13px var(--body);line-height:1}
  .mobile-division-control span{position:absolute;right:12px;top:50%;transform:translateY(-55%);color:var(--gold2);font-size:18px;pointer-events:none}
  .tabs{display:none!important}
  .tab{display:inline-flex;align-items:center;justify-content:center;height:38px;min-height:38px}

  .wrap{max-width:none;padding:12px var(--app-gutter) 28px}
  .app-view-home .wrap{padding-top:14px}
  #view{min-width:0;padding:8px 10px 12px;border-radius:11px;overflow:hidden}

  /* Global pages do not retain irrelevant division and ranking controls. */
  .app-view-home .mobile-division-picker,.app-view-olympia .mobile-division-picker,.app-view-event .mobile-division-picker,.app-view-methodology .mobile-division-picker,.app-view-press .mobile-division-picker{display:none}
  .app-view-home .seasons,.app-view-home .sub,.app-view-profile .seasons,.app-view-profile .sub,.app-view-show .seasons,.app-view-show .sub,.app-view-event .seasons,.app-view-event .sub,.app-view-olympia .seasons,.app-view-olympia .sub,.app-view-methodology .seasons,.app-view-methodology .sub,.app-view-press .seasons,.app-view-press .sub{display:none}
  .app-view-profile .wrap,.app-view-show .wrap,.app-view-event .wrap,.app-view-olympia .wrap,.app-view-methodology .wrap,.app-view-press .wrap{padding-top:14px}

  /* View and page navigation */
  .seasons{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;overflow-x:auto;margin:8px 0 2px;padding-bottom:2px;scrollbar-width:none;overscroll-behavior-x:contain}.seasons::-webkit-scrollbar{display:none}.seasons b{flex:0 0 auto;margin-right:2px}
  .yp{display:inline-flex;align-items:center;justify-content:center;height:38px;min-height:38px;padding:0 11px;border-radius:9px;line-height:1;white-space:nowrap;flex:0 0 auto}
  .sub{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:9px 0 13px;border-bottom:1px solid var(--line);overflow:visible;white-space:normal}
  .sub span{display:flex;align-items:center;justify-content:center;min-width:0;height:42px;min-height:42px;padding:0 2px;margin-bottom:-1px;font-size:12px;line-height:1.1;text-align:center}

  /* Explanatory and action controls */
  .betabox{padding:12px 13px;margin-bottom:13px}.betah{margin-bottom:6px}.betabox p{font-size:12.5px;line-height:1.5}
  .filt{display:grid;grid-template-columns:minmax(0,1fr);gap:3px;margin:0 2px 12px}.tog{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;min-height:38px;line-height:1.3}.tog input{width:16px;height:16px;margin:0}.filt .mut{padding-left:26px;font-size:11px;line-height:1.4}
  .sharewrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:2px 0 14px}.sharewrap .shlbl{grid-column:1/-1;margin:0}.sharebtn{display:inline-flex;align-items:center;justify-content:center;height:38px;min-height:38px;min-width:0;padding:0 8px;border-radius:9px;font-size:12px;line-height:1.1;text-align:center}.sharewrap .sharebtn:first-of-type{grid-column:span 1}.shsoc{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0}.shsoc a{width:100%;min-width:0;height:36px;min-height:36px;padding:0 6px}

  /* Ranking page: explicit three-column geometry on every row. */
  .app-view-ranking #view{padding-left:10px;padding-right:10px}
  .app-ranking-table,.app-provisional-table{display:block;width:100%;border-collapse:separate;border-spacing:0}
  .app-ranking-table thead,.app-ranking-table tbody,.app-provisional-table thead,.app-provisional-table tbody{display:block;width:100%}
  .app-ranking-head,.app-ranking-row{display:grid!important;grid-template-columns:32px minmax(0,1fr) 94px;width:100%;align-items:start}
  .app-ranking-head{min-height:38px;border-bottom:1px solid var(--app-row-line)}
  .app-ranking-head>th{display:flex;align-items:center;min-width:0;height:38px;padding:0;border:0;font-size:9.5px;line-height:1;letter-spacing:.075em}
  .app-rank-head{justify-content:center}.app-athlete-head{justify-content:flex-start}.app-points-head{justify-content:flex-end;text-align:right}
  .app-ranking-row{min-height:72px;border-bottom:1px solid var(--app-row-line);background:transparent}
  .app-ranking-row:last-child{border-bottom:0}
  .app-ranking-row>td{display:block;min-width:0;border:0!important;background:transparent!important}
  .app-ranking-row.top1{background:linear-gradient(90deg,rgba(232,181,63,.095),rgba(232,181,63,.015) 70%,transparent)}
  .app-rank-cell{display:flex!important;align-items:flex-start;justify-content:center;padding:14px 4px 11px 0!important;font-size:16px!important;line-height:20px!important;text-align:center}
  .app-athlete-cell{padding:13px 8px 11px 0!important}
  .app-points-cell{padding:14px 0 11px 4px!important}
  .app-athlete-name{display:block;min-width:0;line-height:20px}
  .app-athlete-link{display:inline;min-height:0!important;font-size:14px;line-height:20px;font-weight:700;overflow-wrap:normal;word-break:normal}
  .app-athlete-country{margin-top:4px;font-size:10.5px;line-height:1.25;color:var(--dim2)}
  .app-athlete-badges{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:5px;min-height:20px}
  .app-athlete-badges:empty{display:none}
  .olyq,.pill-inact,.pill-prov,.pill-unr,.wk1,.mv{width:auto!important;min-width:0!important;min-height:0!important;height:auto!important;margin:0!important;vertical-align:middle}
  .olyq{display:inline-flex;align-items:center;justify-content:center;padding:3px 6px!important;border-radius:5px;font-size:8px!important;line-height:1!important;letter-spacing:.04em;white-space:nowrap}
  .pill-inact,.pill-prov,.pill-unr{display:inline-flex;align-items:center;padding:3px 6px!important;font-size:8px!important;line-height:1!important}
  .wk1,.mv{display:inline-flex;align-items:center;padding:3px 6px;border-radius:5px;font-size:8.5px;line-height:1.05}
  .app-points-wrap{display:grid!important;grid-template-columns:minmax(34px,1fr) auto;align-items:center;gap:8px!important;width:100%}
  .app-points-bar{min-width:0!important;width:100%;height:7px}
  .app-points-value{width:auto!important;min-width:38px;font-size:15px!important;line-height:20px;text-align:right!important;font-variant-numeric:tabular-nums}
  .app-provisional-points{display:flex!important;align-items:flex-end!important;gap:1px!important}.app-points-range{font-size:9.5px;line-height:1.2;white-space:normal;text-align:right!important}
  .app-provisional-table{margin-top:4px}.app-provisional-table .app-ranking-row{grid-template-columns:32px minmax(0,1fr) 86px}
  .provsec{margin-top:26px;padding-top:18px}.provhead{font-size:17px}.provnote{font-size:12px;margin-bottom:10px}

  /* Results page: score, meter, show name and date have fixed alignment lanes. */
  .app-view-results .yhead{margin-top:17px}
  .app-show-row{display:grid!important;grid-template-columns:34px 46px minmax(0,1fr);align-items:start;gap:9px;padding:12px 0!important;border-top:1px solid var(--app-row-line)}
  .app-show-score{width:auto!important;padding-top:1px;text-align:right!important;font-size:17px!important;line-height:20px}
  .app-show-meter{width:46px!important;height:7px!important;margin-top:7px}
  .app-show-content{min-width:0!important;font-weight:600}
  .app-show-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;min-width:0}
  .app-show-heading--single{grid-template-columns:minmax(0,1fr)}
  .app-show-title{display:flex;align-items:center;gap:4px;min-width:0;font-size:13px;line-height:1.3}
  .app-show-title .reslink{min-width:0;overflow-wrap:break-word}
  .app-show-title .resq{flex:0 0 auto;margin:0}
  .app-show-date{margin:1px 0 0!important;font-size:10px!important;line-height:1.25;text-align:right;white-space:nowrap;color:var(--dim)}
  .app-show-podium{margin-top:5px!important;font-size:10.5px!important;line-height:1.45}

  /* Global and division schedules: date column and show column share one grid. */
  .app-schedule-list{display:block!important}
  .app-schedule-row{display:grid!important;grid-template-columns:68px minmax(0,1fr);column-gap:11px;row-gap:4px;align-items:start;padding:12px 2px!important;border-bottom:1px solid var(--app-row-line)}
  .app-schedule-date{grid-column:1;grid-row:1 / span 2;width:auto!important;min-width:0!important;padding-top:1px;font-size:10.5px!important;line-height:1.35;text-align:left;color:var(--gold2)}
  .app-schedule-main{grid-column:2;min-width:0}
  .app-schedule-name{font-size:13.5px!important;line-height:1.3;overflow-wrap:break-word}
  .app-schedule-location{margin-top:3px!important;font-size:10.5px!important;line-height:1.4}
  .app-schedule-status{grid-column:2;justify-self:start;margin:2px 0 0;padding:3px 7px!important;font-size:9px!important;line-height:1.1;text-align:left}

  /* Individual show pages align finishing number and athlete name. */
  .app-view-show .schead{padding:2px 0 4px}.app-view-show .schh{font-size:25px;line-height:1.05}.app-view-show .scintro{font-size:12px}.app-view-show .scsec{margin-top:18px}
  .app-view-show #view .reslist{display:block;max-width:none!important}
  .app-result-row{display:grid!important;grid-template-columns:36px minmax(0,1fr);align-items:start;gap:10px;padding:9px 4px!important;border-bottom:1px solid rgba(255,255,255,.04);font-size:13px!important}
  .app-result-place{width:auto!important;line-height:20px;text-align:right!important;font-variant-numeric:tabular-nums}
  .app-result-name{min-width:0;line-height:20px;overflow-wrap:normal;word-break:normal}

  /* Event and Olympia field tables use known column geometry instead of browser guesswork. */
  .app-event-table{display:block;width:100%;border-collapse:separate;border-spacing:0}
  .app-event-table thead,.app-event-table tbody{display:block;width:100%}
  .app-event-row{display:grid!important;align-items:start;width:100%;border-bottom:1px solid var(--app-row-line)}
  .app-event-row[data-columns="2"]{grid-template-columns:42px minmax(0,1fr)}
  .app-event-row[data-columns="3"]{grid-template-columns:42px minmax(0,1fr) 78px}
  .app-event-row[data-columns="4"]{grid-template-columns:42px minmax(0,1fr) 64px 58px}
  .app-event-cell{display:block;min-width:0;padding:10px 6px!important;border:0!important;background:transparent!important;font-size:12px}
  .app-event-cell-0{text-align:center}.app-event-cell-2,.app-event-cell-3{text-align:right}
  .app-event-table .nm{line-height:1.3}.app-event-table .co{margin-top:3px}
  .app-event-table--cards{margin-top:8px!important}
  .app-event-table--cards thead{display:none}
  .app-event-table--cards tbody{display:grid;gap:8px}
  .app-event-table--cards .app-event-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 12px;padding:9px 11px;border:1px solid var(--app-row-line);border-radius:10px;background:linear-gradient(180deg,var(--app-surface-2),var(--app-surface))}
  .app-event-table--cards .app-event-cell{display:grid!important;grid-template-rows:auto minmax(0,1fr);align-content:start;gap:4px;padding:6px 0!important;font-size:12px;line-height:1.4;text-align:left!important;overflow-wrap:break-word;word-break:normal}
  .app-event-table--cards .app-event-cell:before{content:attr(data-label);color:var(--dim2);font-size:8.5px;font-weight:800;line-height:1.1;letter-spacing:.085em;text-transform:uppercase}
  .app-event-table--cards .app-event-cell:last-child:nth-child(odd),.app-event-table--cards.evqual .app-event-cell:last-child,.app-event-table--cards.evaudit .app-event-cell:last-child{grid-column:1/-1}
  .app-event-table--cards .evstatus{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;margin:0;white-space:normal;text-align:center}

  /* Athlete profile */
  .prof{padding:2px 0 8px}.pback{display:inline-flex;align-items:center;min-height:40px;margin:0 0 7px;padding:0 2px;font-size:12px}
  .phead{display:block;border-bottom:0;padding:2px 0 0;margin:0}.phead>div:first-child{min-width:0;width:100%}
  .pname{margin:0;max-width:100%;font-size:clamp(29px,9vw,40px);line-height:.96;letter-spacing:.012em;overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:balance}
  .pname .pill-inact,.pname .pill-prov,.pname .pill-unr{display:inline-flex;vertical-align:middle;margin:7px 4px 0 0!important;font-family:var(--body);font-size:8px!important;line-height:1}
  .iglink{margin-left:8px;vertical-align:1px}.iglink svg{width:19px;height:19px}.pco{margin-top:8px;font-size:11.5px;line-height:1.35}
  .pstat{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin-top:14px}.ps{min-width:0;text-align:left;padding:11px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,var(--panel2),var(--panel))}.psv{font-size:25px;line-height:1;color:var(--gold2);white-space:normal}.psl{font-size:8.5px;line-height:1.3;letter-spacing:.075em;margin-top:5px}.pweeks{margin:11px 0 0;padding:9px 11px;border-left:2px solid var(--goldDeep);background:rgba(232,181,63,.045);border-radius:0 8px 8px 0;font-size:12px;line-height:1.4}.psec{margin:22px 0 8px;font-size:14px;letter-spacing:.07em}.phist{margin-top:3px;overflow-x:auto}.phist table{min-width:520px}.phist td{font-size:12px}.favorite-btn{display:flex;align-items:center;justify-content:center;width:100%;margin:10px 0 0!important;height:42px;min-height:42px;border-radius:10px;line-height:1}

  /* Olympia and home information cards */
  .olybanner{margin:4px 0 0;padding:13px 14px;border-radius:11px;gap:10px}.olybt{font-size:16px}.olybs{font-size:11.5px;line-height:1.45}.olyba{font-size:22px}
  .app-view-olympia #view{padding-left:10px;padding-right:10px}.app-view-olympia table{font-size:12px}.app-view-olympia th,.app-view-olympia td{padding:9px 6px}.olyline{font-size:11.5px;line-height:1.45;padding:9px 10px}
  .app-featured-event{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:78px;margin:0 0 17px;padding:12px 14px;border:1px solid rgba(232,181,63,.52);border-radius:12px;background:linear-gradient(105deg,rgba(232,181,63,.16),rgba(232,181,63,.035) 72%),var(--panel);color:var(--txt);text-align:left;box-shadow:0 8px 22px rgba(0,0,0,.18);cursor:pointer}.app-featured-event span{display:grid;min-width:0}.app-featured-event small{color:var(--gold2);font-size:9.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.app-featured-event b{margin-top:2px;font-family:var(--disp);font-size:20px;line-height:1.05;letter-spacing:.025em}.app-featured-event em{margin-top:5px;color:var(--dim);font-size:10.5px;font-style:normal;line-height:1.3}.app-featured-event strong{color:var(--gold2);font-size:24px;font-weight:500}
  .app-view-home .stripA{display:flex;margin:0 calc(-1 * var(--app-gutter)) 13px;padding:0 var(--app-gutter) 7px;gap:9px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--app-gutter);scrollbar-width:none}.app-view-home .stripA::-webkit-scrollbar{display:none}.app-view-home .a{flex:0 0 calc(100% - 40px);min-height:80px;padding:12px 13px;border-left:3px solid var(--gold);border-radius:11px;scroll-snap-align:start}.app-view-home .ovgrid{grid-template-columns:1fr;gap:10px}.app-view-home .ovcard{padding:12px 13px 9px}

  /* Matchup, search and methodology surfaces */
  .app-view-matchup .mrow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:13px}.app-view-matchup .mrow input{grid-column:1/-1;width:100%;min-width:0}.app-view-matchup .mrow button{grid-column:1/-1;width:100%;min-width:0;min-height:40px;padding:9px 10px}
  .app-view-matchup .mprow{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:10px}.app-view-matchup .mprow textarea{width:100%;min-height:84px}.app-view-matchup .mprow button{display:flex;align-items:center;justify-content:center;width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--goldDeep);border-radius:9px;background:rgba(232,181,63,.10);color:var(--gold2);font-weight:700}
  .app-view-matchup .pick{display:flex;flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;scrollbar-width:none}.app-view-matchup .pick::-webkit-scrollbar{display:none}.app-view-matchup .pk{flex:0 0 auto}.app-view-matchup .riptiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.app-view-matchup .riptiers .shlbl{grid-column:1/-1}.app-view-matchup .riptier{display:flex;align-items:center;justify-content:center;min-width:0;min-height:38px;padding:6px;text-align:center}.app-view-matchup .h2h,.app-view-matchup .riptbl{overflow-x:auto}
  .asearch{max-width:none;margin-bottom:16px}.asearch input{font-size:16px;padding:11px 12px}.asres{margin-top:6px}.asr{align-items:flex-start;padding:10px 11px}.asr-n{min-width:0;line-height:1.3}.asr-m{font-size:10.5px;line-height:1.3}
  .app-view-methodology .meth{padding:2px 0}.app-view-methodology .meth .mtitle{font-size:23px}.app-view-methodology .meth .lead{font-size:14px}.app-view-methodology .mgrid{grid-template-columns:1fr}.app-view-methodology .mcard{padding:15px}.app-view-methodology .mtbl{display:block;overflow-x:auto}

  /* Native-feeling bottom navigation */
  .mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:1000;left:0;right:0;bottom:0;height:calc(var(--app-nav-h) + var(--safe-bottom));padding:2px var(--safe-right) var(--safe-bottom) var(--safe-left);border-top:1px solid #222936;background:rgba(8,9,12,.975);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 -8px 28px rgba(0,0,0,.34)}
  .mobile-nav__item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:0;min-height:54px;border:0;background:transparent;color:#737d8d;font-size:9.5px;font-weight:700;cursor:pointer;letter-spacing:.01em}.mobile-nav__item svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8}.mobile-nav__item.is-active{color:var(--gold2)}.mobile-nav__item.is-active:before{content:"";position:absolute;top:1px;width:24px;height:2px;border-radius:2px;background:var(--gold)}

  /* More, Following and Saved rankings */
  .app-sheet{display:block;position:fixed;z-index:1001;inset:0;visibility:hidden;pointer-events:none}.app-sheet.is-open{visibility:visible;pointer-events:auto}.app-sheet__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.66);opacity:0;transition:.2s}.app-sheet.is-open .app-sheet__backdrop{opacity:1}.app-sheet__panel{position:absolute;left:0;right:0;bottom:0;max-height:min(82vh,680px);overflow:auto;padding:14px 16px calc(18px + var(--safe-bottom));border-radius:20px 20px 0 0;border:1px solid var(--line2);background:#0d1016;transform:translateY(105%);transition:.22s;box-shadow:0 -18px 48px rgba(0,0,0,.5)}.app-sheet.is-open .app-sheet__panel{transform:translateY(0)}.app-sheet__head{display:flex;justify-content:space-between;align-items:center}.app-sheet__head h2{margin:0;font-family:var(--disp);font-size:24px;letter-spacing:.03em}.app-close{min-width:44px;min-height:44px;border:0;background:transparent;color:var(--txt);font-size:24px}.app-actions{display:grid;gap:7px;margin-top:11px}.app-action{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:46px;padding:8px 11px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--txt);text-align:left;text-decoration:none}.app-action small{color:var(--dim)}.following-list{display:grid;gap:7px;margin-top:12px}.following-empty{color:var(--dim);font-size:13px}.app-version{margin:16px 2px 0;color:var(--dim2);font-size:11px}.following-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:6px;align-items:stretch}.following-row .app-action{margin:0}.following-remove{min-width:44px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--dim);font-size:22px}.following-remove:active{color:var(--red);border-color:var(--red)}.saved-rankings{display:grid;gap:9px;margin-top:12px}.saved-card{padding:11px;border:1px solid var(--line);border-radius:11px;background:linear-gradient(180deg,var(--panel2),var(--panel))}.saved-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.saved-head>div{display:grid;gap:2px}.saved-head b{font-size:14px}.saved-head small{color:var(--dim);font-size:10px}.saved-open{min-height:36px;padding:0 10px;border:1px solid var(--goldDeep);border-radius:8px;background:rgba(232,181,63,.08);color:var(--gold2);font-weight:700}.saved-card ol{list-style:none;margin:9px 0 0;padding:0;counter-reset:rank}.saved-card li{counter-increment:rank;display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:29px;border-top:1px solid rgba(255,255,255,.04);font-size:12px}.saved-card li:before{content:counter(rank);color:var(--dim2);font-family:var(--disp);font-weight:700}.saved-card li b{color:var(--gold2)}.saved-card p{margin:8px 0 0;color:var(--dim2);font-size:10px}
}

@media(max-width:390px){
  :root{--app-gutter:12px}
  .wordmark{font-size:30px}.mobile-division-picker{gap:8px}.mobile-division-picker label{font-size:9px}.sub span{font-size:11px}
  .app-ranking-head,.app-ranking-row{grid-template-columns:29px minmax(0,1fr) 88px}.app-ranking-row{min-height:70px}.app-athlete-link{font-size:13.5px}.app-points-wrap{gap:6px!important}.app-points-value{min-width:36px;font-size:14px!important}
  .app-show-row{grid-template-columns:31px 40px minmax(0,1fr);gap:8px}.app-show-meter{width:40px!important}.app-show-date{font-size:9.5px!important}
  .app-schedule-row{grid-template-columns:62px minmax(0,1fr);column-gap:9px}.app-event-row[data-columns="4"]{grid-template-columns:38px minmax(0,1fr) 57px 50px}
  .app-event-table--cards .app-event-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:8px 10px}
  .pname{font-size:clamp(28px,9.2vw,36px)}.pstat{gap:6px}.ps{padding:10px}.psv{font-size:23px}.mobile-nav__item{font-size:9px}
}

@media(display-mode:standalone){
  body{overscroll-behavior-y:none;-webkit-user-select:none;user-select:none}
  input,textarea,select,[contenteditable="true"]{-webkit-user-select:text;user-select:text}
}
