/* SummitKin Ridge. Depth, type and motion from BRANDBOOK-v2. Paint does not read the Night Ascent variables the client still sets. */
@font-face{font-family:"Martian Grotesk";src:url(/fonts/MartianGrotesk-VF.woff2) format("woff2");font-weight:100 1000;font-stretch:75% 200%;font-display:swap}
@font-face{font-family:"Onest";src:url(/fonts/Onest-VF.woff2) format("woff2");font-weight:400 600;font-display:swap}
@font-face{font-family:"Onest Fallback";src:local("Arial");size-adjust:104%;ascent-override:92%;descent-override:22%;line-gap-override:0%}
@font-face{font-family:"Onest";src:url(/fonts/notokr-full.woff2) format("woff2");unicode-range:U+1100-11FF,U+3130-318F,U+AC00-D7AF;font-weight:400;font-display:swap}
:root{
 --c-abyss:#060F1C;--c-ground:#0A1626;--c-mass:#0E1D31;--c-mask:#0C1A2C;--c-plate:#101F33;--c-lit:#16283F;--c-s2:#15263D;
 --c-line:#22344B;--c-line-ui:#6F86A0;
 --c-text:#E6EDF5;--c-text-2:#A9B8C9;--c-muted:#8A9BB0;
 --c-mint:#A8E6C4;--c-mint-core:#E8FFF2;--c-mint-ink:#06231A;
 --c-accent:var(--c-mint);--c-accent-ink:var(--c-mint-ink);
 --sk-nav:calc(4px + 48px + 4px + 1px);
 --c-danger:#F2A7B5;--c-danger-fill:#6E2A24;
 --f-display:"Martian Grotesk","Onest","Onest Fallback",ui-sans-serif,system-ui,sans-serif;
 --f-text:"Onest","Onest Fallback",ui-sans-serif,system-ui,sans-serif;
 --f-mono:"Onest","Onest Fallback",ui-sans-serif,system-ui,sans-serif;
 --r-control:8px;--r-card:12px;--r-pill:999px;
 --ease-out:cubic-bezier(.16,1,.3,1);--ease-ui:cubic-bezier(.2,0,0,1);--ease-settle:cubic-bezier(.33,1,.68,1);
 --t-fast:160ms;--t-ui:220ms;--t-slow:260ms;--t-tick:780ms;
 --fs:16px;
}
*{box-sizing:border-box}
html{background:var(--c-ground);color:var(--c-text);font:400 var(--fs)/1.5 var(--f-text);font-variant-numeric:tabular-nums;-webkit-text-size-adjust:100%;color-scheme:dark}
html[data-brand=ibocity]{--c-accent:var(--btn,#0E7C6B);--c-accent-ink:#fff}
html.easy{--fs:20px}
body{margin:0;min-height:100vh;background:var(--c-ground);color:var(--c-text)}
/* Login ground stays flat. A stacked crest read as a wave divider, which Ridge does not use. */
h1,h2,h3{font-family:var(--f-display);font-stretch:106%;font-weight:500;font-variation-settings:"wdth" 106,"wght" 500;color:var(--c-text);line-height:1.15;margin:0 0 8px}
h1{font-size:40px;letter-spacing:-.02em;line-height:1.1}
h2{font-size:20px;letter-spacing:-.02em}
h3{font-size:18px;letter-spacing:-.012em}
@media(max-width:820px){h1{font-size:32px}}
p{margin:4px 0 16px}
a{color:var(--c-text-2);text-decoration-thickness:1px;text-underline-offset:4px}
a:hover{color:var(--c-mint)}
strong{font-weight:600}
::selection{background:var(--c-mint);color:var(--c-mint-ink)}
.skip{position:absolute;left:-999px}
.skip:focus{left:12px;top:12px;z-index:9;background:var(--c-mint);color:var(--c-mint-ink);padding:8px 12px;border-radius:var(--r-control)}
:focus-visible{outline:2px solid var(--c-mint);outline-offset:2px}
#shell{display:flex;min-height:100vh;min-width:0}
main{flex:1;width:min(720px,100%);max-width:720px;margin:0 auto;padding:24px 16px calc(var(--sk-nav) + env(safe-area-inset-bottom));min-width:0}
.pad{padding:16px}
.muted{color:var(--c-muted)}
.small{font-size:13px}
html.easy .small{font-size:15px}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums;letter-spacing:0}
.eb{font:500 13px/1.3 var(--f-text);letter-spacing:.08em;text-transform:uppercase;color:var(--c-muted);margin:24px 0 8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Nav */
nav#nav{position:fixed;left:0;right:0;bottom:0;z-index:5;display:flex;justify-content:space-around;background:var(--c-ground);border-top:1px solid var(--c-line);padding:4px 4px calc(4px + env(safe-area-inset-bottom))}
nav#nav a{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:48px;padding:4px;text-decoration:none;color:var(--c-muted);font:500 13px/1.15 var(--f-text);text-align:center;overflow-wrap:anywhere}
nav#nav a[aria-current=page]{color:var(--c-mint);box-shadow:inset 0 -2px 0 var(--c-mint)}
nav#nav a i{display:none}
nav#nav .brand{display:none;align-items:center;gap:8px;font-family:var(--f-display);font-stretch:106%;font-weight:500;font-size:18px;letter-spacing:-.02em;color:var(--c-text);padding:0 16px 16px;text-decoration:none}
nav#nav .brand::before{content:"";width:24px;height:24px;background:url(/icon.svg) center/contain no-repeat;flex:none}
@media(min-width:900px){
 nav#nav{position:sticky;top:0;bottom:auto;height:100vh;flex:none;flex-direction:column;justify-content:flex-start;width:220px;border-top:0;border-right:1px solid var(--c-line);padding:24px 12px;gap:4px}
 nav#nav a{flex:none;flex-direction:row;justify-content:flex-start;min-height:48px;padding:0 16px;text-align:left;overflow-wrap:normal}
 nav#nav a[aria-current=page]{background:transparent;box-shadow:inset 2px 0 0 var(--c-mint)}
 nav#nav .brand{display:flex}
 main{padding:48px 48px 96px}
}

/* Surfaces */
.card{background:var(--c-mask);border:1px solid var(--c-line);border-radius:var(--r-card);padding:16px;margin:0 0 12px}
.card.hot,.card.hl,.nextcard,.card.step.cur{border-color:var(--c-line-ui)}
.card.locked{opacity:1;border-style:dashed;border-color:var(--c-line)}
.row{display:flex;align-items:center;gap:12px}
.row.sp{justify-content:space-between}
.wrap{flex-wrap:wrap}
.grow{flex:1;min-width:0}
.row.wrap>label.grow{min-width:9.5rem}
.list{list-style:none;margin:0;padding:0}
.list>li{border-bottom:1px solid var(--c-line);padding:12px 0}
.list>li:last-child{border-bottom:0}
.list .row.sp>.chip{white-space:nowrap;flex:none}
.list .tk{display:block;padding:12px 0;border-bottom:1px solid var(--c-line)}

/* The habit bed. A tick draws the row up to mint, then it settles. */
#ascent.card{background:transparent;border:0;padding:0}
#ascent ul.list:not(.counters)>li.row{position:relative;overflow:hidden;border:1px solid var(--c-line);border-bottom:1px solid var(--c-line);border-radius:var(--r-card);background:var(--c-mask);padding:8px 12px;margin:0 0 12px;min-height:64px}
#ascent ul.list:not(.counters)>li.row::after{content:"";position:absolute;left:16px;right:16px;bottom:4px;height:8px;pointer-events:none;opacity:.28;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 8' preserveAspectRatio='none'><path d='M0 6C18 6 18 2 36 2S54 6 72 6 90 2 108 2 120 5 120 6' fill='none' stroke='%23A8E6C4' stroke-width='1.6'/></svg>") center/100% 100% no-repeat}
#ascent ul.list:not(.counters)>li.row:has(.tick.on){background:rgba(168,230,196,.10);animation:bed-settle var(--t-tick) var(--ease-settle) both}
#ascent ul.list:not(.counters)>li.row:has(.tick.on)::after{opacity:1}
@keyframes bed-settle{from{background-color:rgba(168,230,196,.34)}to{background-color:rgba(168,230,196,.10)}}

button,.btn,.btn2{font:500 15px/1 var(--f-text);border-radius:var(--r-control);min-height:48px;padding:0 16px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border:1px solid transparent;background:transparent;color:var(--c-text);transition:background var(--t-fast) var(--ease-ui),transform var(--t-fast) var(--ease-ui)}
button:active,.btn:active,.btn2:active{transform:translateY(1px)}
.btn{background:var(--c-mint);color:var(--c-mint-ink);border-color:transparent}
.btn:hover{background:var(--c-mint);box-shadow:inset 0 -2px 0 var(--c-mint-ink);color:var(--c-mint-ink)}
.btn2{background:transparent;color:var(--c-text);border-color:var(--c-line-ui)}
.btn2:hover{color:var(--c-text);box-shadow:inset 0 -2px 0 var(--c-mint)}
.btn.sm,.btn2.sm{min-height:48px;padding:0 16px;font-size:15px}
.big-play{min-height:48px;font-size:16px}
button[disabled],.btn:disabled{opacity:.45;cursor:not-allowed}
.link,button.link,.lnk{background:none;border:0;color:var(--c-text-2);padding:8px 4px;min-height:44px;font-weight:500;text-decoration:underline;border-radius:0;box-shadow:none}
.link:hover,button.link:hover{color:var(--c-mint)}
[data-act=deleteMe]{background:var(--c-danger-fill);color:#fff;border-color:transparent}
[data-act=deleteMe]:hover{color:#fff;box-shadow:none}

.chip{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:4px 8px;border-radius:var(--r-pill);background:transparent;border:1px solid var(--c-line);font:500 13px/1 var(--f-text);letter-spacing:0;color:var(--c-text-2);text-decoration:none}
.chip.b{background:var(--c-lit);border-color:var(--c-line);color:var(--c-text)}
.chip.ok{border-color:var(--c-mint);color:var(--c-mint)}
.chip.live{background:transparent;border-color:var(--c-mint);color:var(--c-mint)}
.chip.utype{margin-left:8px;vertical-align:middle}
a.chip:hover{color:var(--c-mint)}
.pill{display:inline-block;font-size:13px;padding:4px 8px;border-radius:var(--r-pill);background:var(--c-lit);color:var(--c-text);margin:0}
.av,.avatar{width:40px;height:40px;border-radius:var(--r-pill);display:inline-flex;align-items:center;justify-content:center;background:var(--c-plate);border:1px solid var(--c-line);font:600 15px var(--f-text);color:var(--c-text);flex:none}
.avatar{margin-right:8px}

label{display:block;font-size:15px;color:var(--c-text-2);margin:12px 0 8px}
input,select,textarea{width:100%;font:400 16px/1.4 var(--f-text);color:var(--c-text);background:var(--c-plate);border:1px solid var(--c-line);border-radius:var(--r-control);min-height:48px;padding:8px 12px}
::placeholder{color:var(--c-text-2);opacity:1}
input[type=date]::-webkit-datetime-edit{color:var(--c-text-2)}
textarea{min-height:96px}
input[type=checkbox],input[type=radio]{width:44px;height:44px;min-height:44px;accent-color:var(--c-mint)}
.check{display:flex;align-items:center;gap:12px;min-height:48px;margin:0;color:var(--c-text);font-size:16px}
.check input[type=radio],.check input[type=checkbox]{width:44px;height:44px;min-height:44px;flex:none;margin:0}
fieldset{border:1px solid var(--c-line);border-radius:var(--r-card);padding:12px 16px;margin:12px 0}
legend{padding:0 8px;color:var(--c-text-2);font-size:15px}

.tick{width:48px;height:48px;min-height:48px;border-radius:var(--r-pill);border:1.5px solid var(--c-line-ui);background:transparent;flex:none;padding:0;color:var(--c-mint-ink);display:grid;place-items:center;box-shadow:none}
.tick.on{background:var(--c-mint);border-color:var(--c-mint)}
.tick.on::after{content:"✓";color:var(--c-mint-ink);font-weight:600;font-size:20px;line-height:1}
body.easy .tick{width:56px;height:56px}
body.easy button,body.easy .btn,body.easy .btn2{min-height:56px;font-size:18px}
body.easy .hide-easy{display:none!important}
body.easy nav#nav a{font-size:13px}
body.easy #ascent li.row{flex-wrap:wrap}
body.easy #ascent .hacts{flex-basis:100%;padding-left:64px}

.bar{height:8px;border-radius:0;background:var(--c-plate);overflow:hidden}
.bar>i{display:block;height:100%;background:var(--c-mint)}
.bar.thin{height:4px}
.cal{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}
.cal span{aspect-ratio:1;border-radius:0;background:var(--c-plate);display:grid;place-items:center;font:500 13px/1 var(--f-mono);font-variant-numeric:tabular-nums;color:var(--c-muted)}
.cal span.d{background:var(--c-mint);color:var(--c-mint-ink)}
.seg{display:flex;padding:4px;border-radius:var(--r-card);background:var(--c-mask);border:1px solid var(--c-line);gap:4px;overflow-x:auto}
.seg button{flex:1;min-height:48px;border-radius:var(--r-control);background:none;border:0;color:var(--c-muted);font-size:15px;line-height:1.15;padding:8px;box-shadow:none}
.seg button[aria-pressed=true],.seg button[aria-selected=true]{background:transparent;color:var(--c-mint);box-shadow:inset 0 -2px 0 var(--c-mint)}
.seg3 button{min-width:0}
nav.seg.desknav,.seg.wrap{flex-wrap:wrap;margin:0 0 16px}
.seg.wrap a{min-height:48px;display:inline-flex;align-items:center;padding:0 12px;border-radius:var(--r-control);color:var(--c-muted);text-decoration:none;font-size:15px}
.seg.wrap a.on{background:transparent;color:var(--c-mint);box-shadow:inset 0 -2px 0 var(--c-mint)}
.big{font:500 32px/1.1 var(--f-display);font-stretch:106%;color:var(--c-text);letter-spacing:-.02em}
.mono.big,.big.mono{font-family:var(--f-mono);font-size:32px;font-stretch:100%;letter-spacing:0;font-variant-numeric:tabular-nums}
.src{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:12px 0 0;font-size:0;line-height:0;color:var(--c-muted)}
.src a{display:flex;align-items:flex-start;gap:8px;font:400 15px/1.4 var(--f-text);color:var(--c-muted);text-decoration:underline;text-underline-offset:3px}
.src a::before{content:"";flex:none;width:14px;height:16px;margin-top:2px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 16' fill='none' stroke='%238A9BB0' stroke-width='1.2' stroke-linejoin='round'><path d='M3 1.5h5.2L11 4.2V14.5H3z'/><path d='M8.2 1.6V4.4H11'/></svg>") center/contain no-repeat}
.notice{border-left:2px solid var(--c-line-ui);padding:8px 12px;background:var(--c-plate);border-radius:0 var(--r-control) var(--r-control) 0;margin:8px 0;color:var(--c-text)}
#toast{position:fixed;left:16px;right:16px;bottom:calc(var(--sk-nav) + 12px + env(safe-area-inset-bottom));width:auto;max-width:none;transform:none;margin:0;box-sizing:border-box;opacity:0;pointer-events:none;transition:opacity var(--t-ui) var(--ease-ui);z-index:30;box-shadow:none}
#toast.on{opacity:1}
@media(min-width:900px){#toast{left:50%;right:auto;width:min(32rem,calc(100% - 96px));transform:translateX(-50%);bottom:32px}}
dialog{background:var(--c-mask);color:var(--c-text);border:1px solid var(--c-line);border-radius:var(--r-card);max-width:520px;width:calc(100% - 24px);padding:24px;box-shadow:0 12px 32px #00000073}
dialog::backdrop{background:rgba(6,15,28,.72)}
table{width:100%;border-collapse:collapse;font-size:15px}
th,td{text-align:left;padding:8px;border-bottom:1px solid var(--c-line);vertical-align:top}
th{color:var(--c-text-2);font-weight:500}
.tw,.tablewrap{overflow-x:auto;max-width:100%}
.nw{white-space:nowrap}
table.fcy{min-width:720px}
table.fcy th[scope=row]{min-width:180px}
audio{width:100%;margin:8px 0}
.reader{white-space:pre-wrap;font-size:16px;line-height:1.6;color:var(--c-text);max-height:60vh;overflow:auto;padding:16px;border:1px solid var(--c-line);border-radius:var(--r-card);background:var(--c-plate)}
@media (max-width:640px){
 table.stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 table.stack,table.stack tbody,table.stack tr,table.stack th,table.stack td{display:block;width:auto}
 table.stack tr{border:0;border-bottom:1px solid var(--c-line);border-radius:0;padding:12px 0;margin:0;background:transparent}
 table.stack td,table.stack th{border:0;padding:0}
 table.stack tr>*:first-child{display:block;font-weight:500;color:var(--c-text);padding-bottom:2px}
 table.stack tr>*:first-child::before{content:attr(data-label) " ";display:inline;font-weight:400;font-size:13px;color:var(--c-muted)}
 table.stack tr>*:not(:first-child){display:inline;font-size:13px;color:var(--c-text-2)}
 table.stack tr>*:not(:first-child)::before{content:attr(data-label) " ";color:var(--c-muted)}
 table.stack tr>*:not(:first-child):not(:last-child)::after{content:" · ";color:var(--c-muted)}
 table.stack td[data-l]::before{content:attr(data-l) " "}
 table.fcy{min-width:0}
 table.fcy thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 table.fcy,table.fcy tbody,table.fcy tr{display:block;width:auto}
 table.fcy tr{border-bottom:1px solid var(--c-line);padding:12px 0}
 table.fcy th[scope=row]{display:block;border:0;min-width:0;padding:0 0 6px}
 table.fcy td{display:inline-block;width:auto;border:0;padding:0 12px 4px 0;white-space:nowrap}
 table.fcy td::before{content:attr(data-label);display:block;font-size:11px;font-weight:400;color:var(--c-muted)}
}

.climbwrap{display:grid;gap:16px;margin-top:16px}
@media(min-width:900px){.climbwrap{grid-template-columns:minmax(300px,1fr) 1fr;align-items:start}}
.mtnfig{margin:0;border-radius:var(--r-card);overflow:hidden;border:1px solid var(--c-line)}
.mtn{display:block;width:100%;height:auto;max-width:100%}
.mtn .wp{cursor:pointer}
.route{list-style:none;margin:0 0 12px;padding:0;border:1px solid var(--c-line);border-radius:var(--r-card);overflow:hidden}
.route li+li{border-top:1px solid var(--c-line)}
.wpb{width:100%;border-radius:0;background:transparent;border:0;color:var(--c-text);justify-content:flex-start;text-align:left;font-weight:500;padding:0 16px;min-height:48px;box-shadow:none}
.wpb.on{background:var(--c-lit)}
.wpb .d{width:12px;height:12px;border-radius:var(--r-pill);border:1.5px solid var(--c-line-ui);flex:none}
.wpb .d.reached{background:var(--c-text);border-color:var(--c-text)}
.wpb .d.passed{background:var(--c-line-ui);border-color:var(--c-line-ui)}
.wpb .d.next,.wpb .d.counts_met{border:3px solid var(--c-mint);background:transparent}
.wpb .d.base{border-radius:2px;background:var(--c-text);border-color:var(--c-text);transform:rotate(45deg)}
.crit{color:var(--c-text);font-size:16px}
.okc{color:var(--c-mint)}
.wit .bar{margin:4px 0 8px}

dialog.camp{max-width:none;width:100%;height:100%;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:var(--c-abyss)}
dialog.camp::backdrop{background:var(--c-abyss)}
.campsc{position:relative;height:100%;display:flex;flex-direction:column;align-items:stretch;text-align:center;background:var(--c-ground);cursor:pointer}
.campt{background:var(--c-abyss);padding:8px 24px calc(48px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center}
.campsc .beam{display:block;flex:1 1 auto;min-height:0;width:100%;pointer-events:none}
.campt>*{max-width:520px}
.campsc h2{font-size:32px}
.campsc .beam stop{stop-color:var(--c-mint)}
.campsc .beam path:first-of-type{fill:rgba(168,230,196,.16);transform-origin:50% 100%;animation:beamIn var(--t-tick) var(--ease-out) both}
.campsc .flare{fill:rgba(168,230,196,.28);transform-origin:195px 420px;animation:flareIn var(--t-tick) var(--ease-settle) both}
.campsc .beam path:last-of-type{fill:var(--c-mass)}
.campsc h2,.campsc .crit,.campsc .eb{animation:fadeUp var(--t-slow) var(--ease-out) both}
@keyframes beamIn{from{transform:scaleY(.2);opacity:0}to{transform:scaleY(1);opacity:1}}
@keyframes flareIn{from{opacity:0}to{opacity:.65}}
@keyframes fadeUp{from{opacity:0}to{opacity:1}}
.demo-ribbon{position:sticky;top:0;z-index:20;background:var(--c-abyss);color:var(--c-mint);font:400 13px/1.35 var(--f-text);letter-spacing:0;text-transform:none;text-align:center;padding:8px 16px;border-bottom:1px solid var(--c-line);white-space:normal;overflow:visible;text-overflow:clip}
html.capture .demo-ribbon{display:none!important}

.counters{list-style:none;margin:0;padding:0}
.counter{padding:12px 0;border-top:1px solid var(--c-line)}
.counter:first-child{border-top:0}
.cbtn{width:48px;height:48px;min-height:48px;border-radius:var(--r-pill);border:1px solid var(--c-line-ui);background:var(--c-plate);color:var(--c-text);font:500 20px/1 var(--f-text);padding:0;box-shadow:none}
.cbtn:disabled{opacity:.35}
.cbtn:active{background:var(--c-lit)}
.cval{min-width:3ch;text-align:center;font:500 20px/1 var(--f-mono);font-variant-numeric:tabular-nums;color:var(--c-text)}
.cslide{width:100%;height:48px;margin-top:8px;accent-color:var(--c-mint)}
.dim{opacity:.55}
#mini{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--c-ground);border-top:1px solid var(--c-line);padding:8px 12px calc(8px + env(safe-area-inset-bottom))}
body.has-mini #shell{padding-bottom:160px}
.mrow{display:flex;align-items:center;gap:8px}
.mt{min-width:0;display:flex;flex-direction:column}
.mt strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--c-text)}
.mt span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mbtn{min-width:48px;height:48px;min-height:48px;border-radius:var(--r-control);border:1px solid var(--c-line);background:var(--c-plate);color:var(--c-text);font:500 13px var(--f-mono);padding:0}
.mplay{min-width:48px;height:48px;min-height:48px;border-radius:var(--r-pill);background:var(--c-mint);border:0;color:var(--c-mint-ink);font-size:18px;padding:0}
.scrubwrap{display:flex;align-items:center;gap:8px;margin-top:8px}
.scrub{position:relative;flex:1}
.scrub input{width:100%;height:48px;margin:0;accent-color:var(--c-mint);touch-action:none;cursor:pointer}
.scrub input::-webkit-slider-thumb{width:28px;height:28px}
.scrub input::-moz-range-thumb{width:28px;height:28px}
.bubble{position:absolute;bottom:48px;transform:translateX(-50%);background:var(--c-mint);color:var(--c-mint-ink);padding:8px 12px;border-radius:var(--r-control);font:500 16px/1 var(--f-mono);pointer-events:none;white-space:nowrap}
.netstate{position:fixed;top:0;left:0;right:0;z-index:50;background:var(--c-abyss);color:var(--c-text);text-align:center;padding:8px 16px;font-size:15px;border-bottom:1px solid var(--c-line)}
.filters{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px;background:var(--c-ground)}
.filters label{flex:1 1 140px}
.aitem{padding:12px 0;border-top:1px solid var(--c-line)}
.spk{border-radius:var(--r-pill);object-fit:cover}
.spk summary{display:flex;align-items:center;cursor:pointer;min-height:48px}
.dlb{min-width:48px}
.miss{list-style:none;padding:0;margin:0}
.miss li{padding:8px 0;border-top:1px solid var(--c-line)}
.miss li:first-child{border-top:0}
.testmode{border:1px dashed var(--c-line-ui);background:var(--c-plate);color:var(--c-text);border-radius:var(--r-card);padding:12px;margin:8px 0;font-weight:500}
.hosted{min-height:48px;padding:12px;border-radius:var(--r-card);border:1px solid var(--c-line);background:var(--c-plate);color:var(--c-text);margin:4px 0 8px}
.entry{border-top:1px solid var(--c-line);padding:12px 0}
.pre{white-space:pre-wrap;overflow-wrap:anywhere}
.comments{list-style:none;padding:0 0 0 12px;border-left:2px solid var(--c-line)}
.msgs{list-style:none;margin:0;padding:8px 0;max-height:55vh;overflow-y:auto;display:flex;flex-direction:column;gap:8px}
.msg{max-width:85%;padding:8px 12px;border-radius:var(--r-card);background:var(--c-plate);align-self:flex-start;border:1px solid var(--c-line)}
.msg.me{align-self:flex-end;background:var(--c-lit)}
.msg.hid{opacity:.5}
.msg p{margin:4px 0}
.mact{display:flex;gap:4px;flex-wrap:wrap}
.rr{font-size:13px;color:var(--c-muted)}
.composer{gap:8px;align-items:flex-end;position:sticky;bottom:0;background:var(--c-ground);padding:8px 0}
.nb{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;border-radius:var(--r-pill);background:var(--c-mint);color:var(--c-mint-ink);font:600 13px/1 var(--f-mono);text-align:center;margin-left:8px}
.nb[hidden],.nb:empty{display:none!important}
.livewrap{display:grid;gap:12px}
.livewrap video{width:100%;max-height:60vh;background:var(--c-abyss);border-radius:var(--r-card)}
@media(min-width:900px){.livewrap{grid-template-columns:2fr 1fr}.livechat .msgs{max-height:50vh}}

ul.tree{list-style:none;margin:4px 0;padding-left:16px;border-left:1px solid var(--c-line-ui)}
ul.tree li{margin:8px 0;min-height:32px}
table.grid{border-collapse:collapse}
table.grid th,table.grid td{padding:4px 8px;text-align:left}
table.grid input.num{width:5.2rem;min-height:48px;padding:4px 8px;font-family:var(--f-mono)}
dl.kv{display:grid;grid-template-columns:auto auto;gap:4px 16px;margin:0}
dl.kv dt{color:var(--c-muted)}
dl.kv dd{margin:0;text-align:right;font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.lcgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:8px 12px}
.lcgrid label{display:flex;flex-direction:column;gap:4px}

.hero{padding:16px 0 32px}
.hero .lede{max-width:62ch;font-size:16px;color:var(--c-text-2)}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:13px;color:var(--c-muted);margin:0 0 8px}
.tagline{color:var(--c-mint);font-weight:500;margin:0 0 8px}
.grid4{list-style:none;padding:0;margin:0;display:grid;gap:12px;grid-template-columns:1fr}
.grid4 .card{margin:0}
.grid4 h3{font-size:18px}
.grid2{display:grid;gap:8px;grid-template-columns:1fr}
.paths{list-style:none;padding:0;margin:16px 0;display:grid;grid-template-columns:1fr;gap:12px}
.paths .card{display:flex;flex-direction:column;gap:8px;margin:0}
.paths .card h3{margin:0}
.paths .card .btn,.paths .card .btn2{align-self:flex-start}
@media (min-width:760px){.grid4{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr 1fr}.paths{grid-template-columns:1fr}}
.calm{max-width:640px;margin:0 auto}
.mats{list-style:none;margin:0;padding:0}
.mat{padding:12px 0;border-top:1px solid var(--c-line);display:grid;gap:8px}
.mat:first-child{border-top:0}
.mat strong{display:block;color:var(--c-text)}
.kind{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--c-muted)}
.cands{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.cands li{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0}
.wrapword{word-break:break-all}
.scroll{max-height:55vh;overflow:auto}
.wmbox,.vbox{position:relative;overflow:hidden;border-radius:var(--r-card);background:var(--c-abyss)}
.vbox video{display:block;width:100%;max-height:70vh}
.vbox audio{display:block;width:100%}
.wm{position:absolute;inset:0;pointer-events:none;user-select:none}
.wmv{position:absolute;color:rgba(230,237,245,.55);font:500 13px/1 var(--f-mono);white-space:nowrap}
.wmf{position:absolute;inset:0;color:rgba(230,237,245,.08);font:13px/1.4 var(--f-mono);word-break:break-all;overflow:hidden}
html.captured video,html.captured audio{filter:blur(24px)}
nav#nav[hidden]{display:none!important}
main#main:focus{outline:none}
#journey h3{margin-top:24px}

.list.books{display:flex;flex-direction:column;gap:4px}
.bitem{display:flex;gap:16px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--c-line)}
.bcover{flex:none;width:64px;height:96px;border-radius:var(--r-control);object-fit:cover;border:1px solid var(--c-line);background:var(--c-mass)}
.bcover.gen{display:flex;flex-direction:column;justify-content:space-between;padding:8px;background:var(--c-mass);overflow:hidden}
.bcover.gen>span{display:grid;gap:4px;min-height:0}
.bcover.gen b{font:500 13px/1.2 var(--f-display);color:var(--c-text);flex:none;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.bcover.gen s{text-decoration:none;font:500 13px/1.2 var(--f-display);color:var(--c-mint);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bcover.gen i{font:500 13px/1.2 var(--f-text);color:var(--c-mint);font-style:normal;letter-spacing:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bcover.sm{width:48px;height:72px}
.bitem .fm{gap:8px;margin:8px 0}
.bitem .bacts{gap:8px;margin-top:8px}
.chooser{display:flex;gap:12px;align-items:flex-start;margin-top:8px;color:var(--c-text)}
.chooser .row{gap:8px;margin:8px 0 4px}
.ertools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}
.ertools .seg{flex:0 0 auto}
.ertools .seg button{min-width:64px}
.ermarks{flex-basis:100%}
.ermarks ul{margin:8px 0}
.ereader{--ers:16px;position:relative;height:min(68vh,640px);overflow:hidden;border-radius:var(--r-card);padding:32px 32px 32px;background:var(--c-plate);color:var(--c-text);border:1px solid var(--c-line);font:400 var(--ers)/1.6 var(--f-text);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;outline:none}
.ereader.night{background:var(--c-abyss);color:var(--c-text);border-color:var(--c-line)}
.ereader.scroll{overflow-y:auto}
.ereader.pages .erpage{height:100%;column-gap:64px;column-fill:auto;transition:transform var(--t-ui) var(--ease-ui)}
.ereader p{margin:0 0 16px;text-align:left;hyphens:auto;text-indent:1.3em}
.ereader p:first-child{text-indent:0}
.ereader .erh{text-align:center;text-indent:0;margin:12px 0 8px;font-weight:600;font-family:var(--f-display);font-stretch:106%}
.ereader h2.erh{font-size:20px;letter-spacing:-.02em}
.ereader h3.erh{font-size:16px;font-weight:500;font-style:normal}
.ereader .erlabel{text-indent:0;font-family:var(--f-mono);font-size:13px;letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--c-line);border-radius:var(--r-control);padding:8px 12px;color:var(--c-text-2)}
.erwm{position:absolute;inset:0;pointer-events:none;display:flex;flex-direction:column;justify-content:space-around;align-items:center;transform:rotate(-24deg);opacity:.08;font:500 15px/1 var(--f-mono);color:currentColor;white-space:nowrap}
.ernav{position:absolute;top:0;bottom:0;width:48px;border:0;background:none;color:inherit;opacity:.45;font-size:32px;cursor:pointer;padding:0;min-height:0;box-shadow:none}
.ernav:hover{opacity:.8}
.ernav.prev{left:0}
.ernav.next{right:0}
.ereader.scroll .ernav{display:none}
.erfoot{margin-top:8px}
@media print{.ereader,.erpage{display:none!important}}

.pcard{background:var(--c-plate);color:var(--c-text);border:1px solid var(--c-line);border-radius:var(--r-card);padding:16px;display:grid;gap:12px}
.pcard .pc-top{display:flex;gap:12px;align-items:center}
.pcard .pc-top>div{display:grid;gap:4px}
.pcard .kind{color:var(--c-mint)}
.pcard strong{font-size:18px}
.pcard .muted{color:var(--c-muted)}
.pc-mark{width:48px;height:48px;flex:none;border-radius:var(--r-control);background:var(--c-mint);position:relative}
.pc-mark::after{content:"";position:absolute;inset:16px 12px 12px;background:var(--c-mint-ink);clip-path:polygon(50% 0,100% 100%,0 100%)}
.pc-wave{--p:0%;height:48px;display:flex;align-items:center;gap:4px;position:relative}
.pc-wave i{flex:1;background:var(--c-line);border-radius:0}
.pc-wave b{position:absolute;inset:0;width:var(--p);background:linear-gradient(90deg,transparent calc(100% - 2px),var(--c-mint) 0);pointer-events:none}
.pcard.on .pc-wave i{background:var(--c-line-ui)}
.pcard audio{width:100%}
.plantop h3{margin:16px 0 8px}
.plantop .ptm+.ptm{border-top:1px solid var(--c-line);margin-top:12px}

.lift .lift-line{font-size:16px;line-height:1.5;margin:0 0 12px}
.lift .goal{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;border-top:1px solid var(--c-line);padding-top:12px;min-height:48px}
.lift .goal strong{font-size:16px}
.sky{position:relative;overflow:hidden;background:var(--c-ground)!important;color:var(--c-text)!important;border-radius:var(--r-card);padding:16px 16px 64px;margin:0 0 16px;border:1px solid var(--c-line);transition:none}
.sky h1,.sky .eb,.sky .sky-line,.sky .sky-meta{color:var(--c-text)!important;position:relative;z-index:1}
.sky .eb{opacity:1}
.sky .chip.utype{color:var(--c-text);border-color:var(--c-line-ui);background:transparent}
.sky .sky-line{font-weight:500;margin:4px 0}
.sky .sky-meta{margin:0;color:var(--c-text-2)!important}
.sky .ridge{position:absolute;left:0;right:0;bottom:0;width:100%;height:48px}
.sky .ridge polygon{fill:var(--c-mass)}
.sky .ridge .glow{fill:var(--c-mint);opacity:.12}
.sky.lit .ridge .glow{opacity:.65}
.sky.alpen .ridge .glow{animation:bed-settle var(--t-tick) var(--ease-settle) both}

.hacts{display:flex;gap:8px;flex:none}
.hact{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:48px;min-height:48px;padding:0 12px;border-radius:var(--r-control);border:1px solid var(--c-line);background:var(--c-plate);color:var(--c-text);font:500 13px/1 var(--f-text);text-decoration:none;cursor:pointer}
.hact svg{width:20px;height:20px;fill:currentColor}
.hact:hover,.hact:focus-visible{border-color:var(--c-line-ui);color:var(--c-text);background:transparent}
.hact.on{border-color:var(--c-mint);color:var(--c-mint)}
#playListen.hact{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-accent-ink)}
@media (max-width:480px){
 body:not(.easy) .hacts:has(.hact+.hact) .hact>span{display:none}
 body:not(.easy) .hacts:has(.hact+.hact) .hact{padding:0;width:48px}
 .mrow{flex-wrap:wrap;row-gap:4px}
 .mrow .mt{order:-1;flex-basis:100%}
 #mrate{margin-left:auto}
 body.has-mini #shell{padding-bottom:176px}
}

.hubgrid{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:16px}
@media(min-width:700px){.hubgrid{grid-template-columns:1fr 1fr}}
.hubcard{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:inherit}
.hubcard.past{opacity:.85}
.hubcard .eb{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--c-mint)}
.hubhead h1{margin:4px 0}
.hubtabs{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.hubtabs a{min-height:48px;display:inline-flex;align-items:center;padding:0 12px;border-radius:var(--r-control);border:1px solid var(--c-line);text-decoration:none;color:var(--c-text-2)}
.hubtabs a[aria-current=true]{background:transparent;border-color:var(--c-mint);color:var(--c-mint)}
.dayhead{font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin:16px 0 8px;color:var(--c-muted)}
.sess{gap:12px;align-items:flex-start}
.sess .time{min-width:64px;font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.tiers{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.tier{font-size:13px;padding:4px 8px;border-radius:var(--r-control);border:1px solid var(--c-line);color:var(--c-text-2)}
.tier.cur{border-color:var(--c-mint);color:var(--c-mint);background:transparent}
.wallet .qr{background:#fff;border-radius:var(--r-control);padding:8px}
.docico{display:inline-flex;align-items:center;justify-content:center;width:40px;height:48px;border:1px solid var(--c-line);border-radius:var(--r-control);font-size:13px;font-weight:600;margin-right:8px}
.post.pinned{border-color:var(--c-line-ui)}
.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th,.tbl td{text-align:left;padding:8px;border-bottom:1px solid var(--c-line)}
.tbl .tot td{font-weight:600}
#ciMsg.ok{color:var(--c-mint)}
#ciMsg.bad{color:var(--c-danger)}
#ciVid{width:100%;max-width:420px;border-radius:var(--r-card)}
.bul{padding-left:16px}
.bul li{margin:4px 0}
.tvrow{display:flex;gap:12px;overflow-x:auto;max-width:100%;padding-bottom:8px;margin-bottom:8px}
.tvrow.wrap{flex-wrap:wrap;overflow:visible}
.tvc{flex:0 0 220px;max-width:100%;display:flex;flex-direction:column;gap:4px;color:var(--c-text);text-decoration:none}
.tvc img,.tvph{width:220px;max-width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-control);background:var(--c-abyss);display:flex;align-items:center;justify-content:center;font-size:20px}
.tvt{font-weight:600;font-size:15px;line-height:1.3}
.vbox.ratio{aspect-ratio:16/9}
.vbox.ratio iframe{width:100%;height:100%;border:0;display:block}
details{border-top:1px solid var(--c-line);padding:8px 0}
details summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}
img,svg,video,canvas{max-width:100%}
main:has(form[data-form=login]) h1:not(:has(img)),main:has(form[data-form=activate]) h1:not(:has(img)){display:flex;align-items:center;gap:12px}
main:has(form[data-form=activate]) h1:not(:has(img))::before{content:"";width:32px;height:32px;background:url(/icon.svg) center/contain no-repeat;flex:none}
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
 #sky{transition:none!important}
 .sky.alpen .ridge .glow{opacity:.65}
}

/* r2 art direction. Overrides sit last. */
.eb,.kind,.dayhead,.hubcard .eb{text-transform:none;letter-spacing:0;font-size:13px}
.eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--c-muted)}
.demo-ribbon{text-transform:none;letter-spacing:0;white-space:normal;overflow:visible;text-overflow:clip;font:400 13px/1.35 var(--f-text);text-align:center}
@media (max-width:390px){
 .demo-ribbon{white-space:nowrap}
}

input[type=checkbox],input[type=radio],.check input[type=checkbox],.check input[type=radio]{
 appearance:none;-webkit-appearance:none;width:20px;height:20px;min-width:20px;min-height:20px;margin:0;flex:none;
 border:1.5px solid var(--c-line-ui);background:var(--c-plate) center/14px no-repeat;border-radius:4px;accent-color:auto;
 vertical-align:middle
}
input[type=radio],.check input[type=radio]{border-radius:999px}
input[type=checkbox]:checked{
 background-color:var(--c-mint);border-color:var(--c-mint);
 background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M3.2 8.2 6.5 11.4 12.8 4.6' fill='none' stroke='%2306231A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>")
}
input[type=radio]:checked{background:radial-gradient(circle at center,var(--c-mint) 0 5px,transparent 6px);border-color:var(--c-mint)}
input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--c-mint);outline-offset:3px}
.check{min-height:48px}

.bar,.bar.thin{height:4px;border-radius:0;background:#101F33}
.bar>i{background:var(--c-mint);border-radius:0}

.seg{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.seg::-webkit-scrollbar{display:none}
.seg button{flex:0 0 auto;white-space:nowrap;min-height:44px;height:44px;padding:0 16px;text-transform:none;display:inline-block;line-height:44px;text-align:center}
.seg.wrap,nav.seg.desknav{flex-wrap:wrap;overflow:visible}
@media (max-width:820px){
 .seg{mask-image:linear-gradient(90deg,#000 calc(100% - 32px),transparent);-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 32px),transparent)}
 .seg.wrap{mask-image:none;-webkit-mask-image:none}
}

.seg+.row.wrap{margin-top:16px;margin-bottom:16px}
table{font-variant-numeric:tabular-nums}
table thead th{color:var(--c-text-2);font-size:13px;font-weight:500;text-transform:none;letter-spacing:0;padding:12px;vertical-align:bottom}
table tbody th{padding:16px 12px;vertical-align:middle;color:var(--c-text);font-weight:600;font-size:16px}
table tbody td{padding:16px 12px;vertical-align:middle;color:var(--c-text);font-weight:400;font-size:16px;font-family:var(--f-text);font-variant-numeric:tabular-nums}
table .muted,td .muted{color:var(--c-text-2);font-weight:400}
td.mono{text-align:right;font-family:var(--f-text);font-variant-numeric:tabular-nums;font-weight:400}
table thead th.mono,table.stack thead th:nth-child(5){text-align:right}
button[data-act=verify]{background:transparent;border-color:transparent;color:var(--c-text-2);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;box-shadow:none;min-height:44px;padding:0 4px;font-weight:500}
button[data-act=verify]:hover{color:var(--c-mint);box-shadow:none}

@media (max-width:899px){
 #ascent ul.list:not(.counters)>li.row{flex-wrap:wrap;align-items:center;align-content:flex-start;gap:8px 12px;min-height:0;padding:0 12px;border:0;box-shadow:inset 0 0 0 1px var(--c-line)}
 #ascent ul.list:not(.counters)>li.row .tick{width:44px;height:44px;min-width:44px;min-height:44px}
 #ascent ul.list:not(.counters)>li.row .grow{flex:1 1 calc(100% - 56px);align-self:center}
 #ascent ul.list:not(.counters)>li.row:not(:has(.hacts)){padding-bottom:12px}
 #ascent .hacts{flex:1 0 100%;justify-content:flex-end;align-items:center;margin:0;min-height:44px}
 #ascent .hact>span{display:none}
 #ascent .hact{width:44px;min-width:44px;height:44px;min-height:44px;padding:0}
 #ascent ul.list:not(.counters)>li.row::after{left:12px;right:84px;bottom:6px;height:4px}
 #ascent ul.list:not(.counters)>li.row:not(:has(.hacts))::after{right:12px;bottom:4px}
}

@media (min-width:900px){
 #shell{align-items:stretch}
 nav#nav{flex:0 0 220px}
 main{flex:1 1 auto;width:auto;max-width:1040px;margin:0;padding:32px 48px 96px 32px}
 main:has(form[data-form=login]),main:has(form[data-form=activate]){max-width:none;width:100%;margin:0;padding:64px 16px 96px;display:flex;flex-direction:column;align-items:center}
}
main:has(form[data-form=login]),main:has(form[data-form=activate]){max-width:none;width:100%;margin:0;padding:48px 16px 120px;display:flex;flex-direction:column;align-items:center}
main:has(form[data-form=login])>h1,main:has(form[data-form=activate])>h1{margin:0 0 32px}
main:has(form[data-form=login])>.card,main:has(form[data-form=activate])>.card{width:min(440px,100%);margin:0;padding:32px}
form[data-form=login] h2,form[data-form=activate] h2{margin:0 0 24px}
form[data-form=login] label,form[data-form=activate] label{margin:24px 0 8px}
form[data-form=login] label:first-of-type,form[data-form=activate] label:first-of-type{margin-top:0}
form[data-form=login],form[data-form=activate]{margin:0 0 16px}
main:has(form[data-form=login]) .card>p,main:has(form[data-form=activate]) .card>p{margin:0 0 8px}
form[data-form=login] .btn,form[data-form=activate] .btn{width:100%;margin-top:24px}
main:has(#ascent)> .tw,main:has(table)>.tw,main:has(table) table{width:100%}
.chip,.pill,.small,table .muted,table .chip,table .small{font-size:13px;line-height:1.35}
form[data-form=teamFilter] .row.wrap{align-items:flex-end}
form[data-form=teamFilter] label{margin:0}
form[data-form=teamFilter] label.grow{display:flex;flex-direction:column;justify-content:flex-end;gap:8px}
form[data-form=teamFilter] label.check{min-height:48px;height:48px;margin:0;align-items:center}
.cbtn{color:#fff;font-weight:600;font-size:24px;line-height:1;-webkit-text-stroke:1px #fff;paint-order:stroke fill}
.cbtn:disabled{opacity:1;color:var(--c-text-2);border-color:var(--c-line);-webkit-text-stroke:1px var(--c-text-2)}

/* r5: hero ridge, only in the bottom band of the card. */
.sky{display:flex;flex-direction:column;padding:20px 20px 0;overflow:hidden;min-height:0}
.sky canvas.ridge-view{position:relative;inset:auto;display:block;width:calc(100% + 40px);max-width:none;height:112px;margin:16px -20px 0;flex:none;z-index:1;pointer-events:none}
.sky svg.ridge{display:block;z-index:0;pointer-events:none}
.sky .eb,.sky h1,.sky .sky-line,.sky .sky-meta{display:block;position:relative;z-index:1;background:transparent;padding:0;margin:0 0 8px}
.sky .sky-line{margin:0 0 4px}
.sky .sky-meta{margin:0}
.hact{background:transparent;border-color:var(--c-line-ui);color:var(--c-text)}
#playListen.hact{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-accent-ink)}
.hact.on{background:transparent;border-color:var(--c-mint);color:var(--c-mint)}
.btn2{background:transparent;border-color:var(--c-line-ui);color:var(--c-text)}
button[data-act=verify]{background:transparent;border-color:transparent;color:var(--c-text-2)}
.ridge-route{position:relative;margin:0 0 16px;min-height:160px}
.ridge-route canvas{display:block;width:100%;height:160px}
.ridge-stops{list-style:none;position:absolute;inset:0;margin:0;padding:0;pointer-events:none}
.ridge-stop{position:absolute;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;max-width:46%}
.ridge-stop.label-left{flex-direction:row-reverse;align-items:center;gap:8px;max-width:none}
.ridge-stop.label-above{flex-direction:column-reverse;gap:8px}
.ridge-stop i{width:14px;height:14px;border-radius:999px;border:2px solid var(--c-line-ui);background:var(--c-ground);display:block;flex:none}
.ridge-stop.reached i{background:var(--c-mint);border-color:var(--c-mint)}
.ridge-stop.reached i{width:10px;height:10px}
.ridge-stop.current i{width:16px;height:16px;background:transparent;border:2px solid var(--c-mint);box-shadow:0 0 0 4px rgba(168,230,196,.22),0 0 14px rgba(168,230,196,.55)}
.ridge-stop.future i{background:transparent;border-color:var(--c-muted);opacity:.55}
.ridge-stop span{font:500 13px/1.3 var(--f-text);color:var(--c-text);white-space:nowrap;background:#0A1626;padding:2px 6px;border-radius:4px;box-shadow:0 0 0 3px #0A1626}
.ridge-stop.reached span{color:var(--c-text-2)}
.ridge-stop.current span{color:var(--c-mint)}
.ridge-stop.future span{color:var(--c-muted)}
.miss li.met{color:var(--c-muted)}
.miss li.met .bar{display:none}
.miss.done-group{margin:0 0 12px;padding:0;list-style:none}
[role=tabpanel] .mono{font-family:var(--f-text);font-variant-numeric:tabular-nums;letter-spacing:0}
.mini-crest{display:block;width:64px;height:18px;margin:0 0 4px auto}
form[data-form=teamFilter]{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px}
form[data-form=teamFilter] h2{flex:1 0 100%;margin:0}
form[data-form=teamFilter] .row.wrap{flex:1 1 auto;margin:0}
form[data-form=teamFilter]>button{margin:0;align-self:flex-end}
canvas.ridge-horizon{position:fixed;left:0;right:0;bottom:0;width:100%;height:240px;pointer-events:none;z-index:0;-webkit-mask-image:linear-gradient(to top,#000 0,#000 42%,transparent 100%);mask-image:linear-gradient(to top,#000 0,#000 42%,transparent 100%)}
@media (max-width:899px){
 canvas.ridge-horizon{-webkit-mask-image:linear-gradient(to top,#000 0,#000 calc(100% - 28px),transparent 100%);mask-image:linear-gradient(to top,#000 0,#000 calc(100% - 28px),transparent 100%)}
}
main:has(form[data-form=login]),main:has(form[data-form=activate]),main:has(form[data-form=login]) .card{position:relative;z-index:1}
@media (max-width:899px){
 .ridge-route{min-height:96px}
 .ridge-route canvas{height:96px}
 nav#nav .brand{display:flex;position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;height:48px;z-index:6;background:var(--c-ground);border-bottom:1px solid var(--c-line);padding:0 16px;align-items:center}
 body:has(.demo-ribbon) nav#nav .brand{top:calc(var(--sk-ribbon,56px) + env(safe-area-inset-top,0px));z-index:8}
 .demo-ribbon{z-index:9}
 main{padding-top:calc(48px + env(safe-area-inset-top,0px))}
 body:has(#nav:not([hidden])) main{padding-top:calc(64px + env(safe-area-inset-top,0px))}
 #ascent ul.list:not(.counters)>li.row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:12px;row-gap:4px;align-items:center;padding:8px 12px;min-height:0}
 #ascent ul.list:not(.counters)>li.row .tick{grid-column:1;grid-row:1 / span 2;width:44px;height:44px;min-width:44px;min-height:44px}
 #ascent ul.list:not(.counters)>li.row .grow{grid-column:2;grid-row:1;flex:none}
 #ascent .hacts{grid-column:3;grid-row:1 / span 2;flex:none;margin:0;min-height:0;width:auto;justify-content:flex-end}
 #ascent ul.list:not(.counters)>li.row::after{position:static;grid-column:2;grid-row:2;left:auto;right:auto;bottom:auto;width:100%;height:8px;margin:0}
 #ascent ul.list:not(.counters)>li.row:not(:has(.hacts)){grid-template-columns:44px minmax(0,1fr);padding-bottom:8px}
 .sky h1{font-size:32px;line-height:1.12}
}

@media (min-width:1200px){
 main{max-width:1220px}
}

@media (min-width:1200px){
 main:has(#ascent){display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:32px;row-gap:16px;align-items:start}
 main:has(#ascent)>.sky{grid-column:1;grid-row:1}
 main:has(#ascent)>#ascent{grid-column:1;grid-row:2}
 main:has(#ascent)>.rail{grid-column:2;grid-row:1 / span 2}
 main:has(#ascent)>:not(.sky):not(.rail):not(#ascent){grid-column:1 / -1}
}
.rail{display:flex;flex-direction:column;gap:16px;min-width:0}
.rail>#lift{margin:0}
.rail-indicators .eb{margin:0 0 8px}
.rail-indicators .counters{background:var(--c-mask);border:1px solid var(--c-line);border-radius:var(--r-card);padding:8px 16px;margin:0}
.rail-indicators>p{margin:16px 0 0}
.langmenu{position:relative;display:inline-flex;align-items:center}
.langglobe{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:8px;background:transparent;color:var(--c-text);cursor:pointer}
.langglobe .globe{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.langglobe:hover,.langglobe:focus-visible{color:var(--c-mint)}
.langpop{position:absolute;top:calc(100% + 6px);right:0;z-index:2;min-width:168px;margin:0;padding:6px;display:flex;flex-direction:column;gap:2px;background:var(--c-plate);border:1px solid var(--c-line);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.langpop[hidden]{display:none}
.langpop button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;margin:0;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--c-text);font:500 15px/1.2 var(--f-text);text-align:left;cursor:pointer}
.langpop button:hover,.langpop button:focus-visible{color:var(--c-mint);background:rgba(168,230,196,.08)}
.langpop button[aria-checked=true]{color:var(--c-mint)}
.langcheck{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#app-header{position:fixed;z-index:9;top:env(safe-area-inset-top,0px);right:0;height:48px;display:flex;align-items:center;justify-content:flex-end;padding:0 max(4px,env(safe-area-inset-right,0px)) 0 0;pointer-events:none;background:transparent}
body:has(.demo-ribbon) #app-header{top:calc(var(--sk-ribbon,48px) + env(safe-area-inset-top,0px))}
#app-header #langswitch:not(:empty){pointer-events:auto;height:48px;display:flex;align-items:center}
@media (max-width:899px){
 #app-header .langpop{position:fixed;top:calc(env(safe-area-inset-top,0px) + 48px + 4px);right:max(8px,env(safe-area-inset-right,0px))}
 body:has(.demo-ribbon) #app-header .langpop{top:calc(var(--sk-ribbon,48px) + env(safe-area-inset-top,0px) + 48px + 4px)}
 body:has(#langswitch .langglobe) nav#nav .brand{padding-right:60px}
}
@media (min-width:900px){
 #app-header{top:12px;right:32px}
 body:has(.demo-ribbon) #app-header{top:calc(var(--sk-ribbon, 34px) + 8px)}
}
@media (max-width:899px){
 nav#nav a{flex:1 0 auto;min-width:max-content;white-space:nowrap;overflow:visible;overflow-wrap:normal;hyphens:manual;font-size:12px;line-height:1.15;padding:4px 4px}
}
#climbTerms{font-size:15px;font-weight:400;line-height:1.4;color:var(--c-muted);margin:12px 0}
[role=tabpanel]+p.small.muted{margin:24px 0 0;padding-top:16px;border-top:1px solid var(--c-line);max-width:68ch;font:400 13px/1.5 var(--f-text);color:var(--c-muted);letter-spacing:0;text-transform:none;text-decoration:none}
details#climbTerms summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;cursor:pointer;list-style:none;font:400 15px/1.4 var(--f-text);color:var(--c-muted)}
details#climbTerms summary::-webkit-details-marker{display:none}
details#climbTerms summary::marker{content:""}
details#climbTerms summary::after{content:"";width:8px;height:8px;margin-right:4px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);flex:none}
details#climbTerms[open] summary::after{transform:rotate(-135deg);margin-top:4px}
details#climbTerms ul{margin:0 0 8px;padding:0 0 0 16px;color:var(--c-text-2);font-size:15px;font-weight:400}
ul.list>li.row:has(>a[href^="#/contact/"]){position:relative;border-radius:12px}
ul.list>li.row:has(>a[href^="#/contact/"])>a.grow{color:inherit;text-decoration:none}
ul.list>li.row:has(>a[href^="#/contact/"])>a.grow strong,ul.list>li.row:has(>a[href^="#/contact/"])>a.grow .small{text-decoration:none}
ul.list>li.row:has(>a[href^="#/contact/"])>a.grow::after{content:"";position:absolute;inset:0;border-radius:12px}
@media (hover:hover) and (pointer:fine){
 ul.list>li.row:has(>a[href^="#/contact/"])>a.grow:hover::after,ul.list>li.row:has(>a[href^="#/contact/"]):hover{background:transparent}
}
ul.list>li.row:has(>a[href^="#/contact/"]:focus-visible){box-shadow:inset 0 0 0 2px var(--c-mint)}
ul.list>li.row:has(>a[href^="#/contact/"]:focus-visible)>a.grow{outline:none}
ul.list>li.row:has(>a[href^="#/contact/"])>.btn,ul.list>li.row:has(>a[href^="#/contact/"])>.btn2,ul.list>li.row:has(>a[href^="#/contact/"])>button{position:relative;z-index:1}

/* r6: the tick has to read, and the row line was an underline. */
#ascent ul.list:not(.counters)>li.row::after{content:none;display:none}
#ascent li.row:has(.tick.on) .hact:not(#playListen){background:transparent;border-color:var(--c-line-ui);color:var(--c-text)}
@media (max-width:899px){
 html{scroll-padding-bottom:calc(var(--sk-nav) + env(safe-area-inset-bottom))}
 body:has(#nav:not([hidden])) main{padding-bottom:calc(var(--sk-nav) + env(safe-area-inset-bottom))}
 body:has(#nav:not([hidden])) .composer{bottom:calc(var(--sk-nav) + env(safe-area-inset-bottom))}
}
.sky .sky-line,#liftCount{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
form[data-form=teamFilter] select{appearance:none;-webkit-appearance:none;height:44px;min-height:44px;border-radius:12px;padding-right:40px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'><path d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23A9B8C9' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 14px center;background-size:12px 8px}
table td .small.muted{font-size:15px;font-weight:400;line-height:1.35;color:var(--c-muted)}
@media (max-width:899px){
 #ascent ul.list:not(.counters)>li.row{grid-template-rows:auto}
 #ascent ul.list:not(.counters)>li.row .tick,#ascent .hacts{grid-row:1}
 body.easy #ascent ul.list:not(.counters)>li.row{grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto}
 body.easy #ascent ul.list:not(.counters)>li.row .grow{grid-column:2;grid-row:1}
 body.easy #ascent .hacts{grid-column:1 / -1;grid-row:2;width:auto;justify-content:flex-start}
}
