:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0d11;--surface:#15171d;--raised:#1d2029;--line:#2a2e39;--fg:#f0f2f6;--muted:#98a0ae;--tint:#6e82ff;--glow:#8fa4ff;--signal:#ffa25c;--mint:#4be3a8;--stroke:#f0f2f614;--glass:#15171db8;--shadow:0 8px 24px #00000059;--red:#ff4d4d;--orange:#ff8a2b;--yellow:#ffd62b;--green:#3fd97a;--blue:#35b8f5;--purple:#a96bff;--pink:#ff6bc1;--black:#2a2e39;--white:#f4f5f8;--grey:#8a909e;--wood:#c39264;--round:ui-rounded, "SF Pro Rounded", -apple-system, system-ui, sans-serif}@media (prefers-color-scheme:light){:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2efe8;--surface:#fbfaf7;--raised:#fff;--line:#dcd7cc;--fg:#14161c;--muted:#5c6270;--tint:#3b4fdb;--glow:#2e6bf0;--signal:#d1571b;--mint:#0e9c6c;--stroke:#14161c1a;--glass:#fbfaf7c7;--shadow:0 8px 24px #14161c14;--red:#d92020;--orange:#e06a00;--yellow:#c99700;--green:#12a34f;--blue:#0a7fc2;--purple:#7b3fd1;--pink:#d6379a;--black:#22252c;--white:#fff;--grey:#767b87;--wood:#9a6c42}}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;margin:0;font:14px/1.45 -apple-system,BlinkMacSystemFont,system-ui,Segoe UI,sans-serif}a{color:var(--tint);text-decoration:none}code{font:12px ui-monospace,SF Mono,Menlo,monospace}h1{font:700 26px/1.2 var(--round);letter-spacing:-.01em;margin:4px 0}h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:32px 0 10px;font-size:13px;font-weight:600}h3{margin:0;font-size:16px;font-weight:600}p{margin:8px 0}.muted{color:var(--muted)}.warn{color:var(--signal)}.sub{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;font-size:14px;display:flex}.bar{z-index:10;background:var(--glass);-webkit-backdrop-filter:saturate(1.6)blur(18px);border-bottom:1px solid var(--stroke);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 20px;display:flex;position:sticky;top:0}.brand{font:700 15px var(--round);color:var(--fg);align-items:center;gap:8px;display:flex}.brand img{border-radius:6px;width:22px;height:22px}.bar .links{flex-wrap:wrap;align-items:center;gap:4px;margin-left:auto;display:flex}.bar .links>a{min-height:36px;color:var(--fg);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-weight:500;display:inline-flex}.bar .links>a:hover{background:var(--raised)}.bar form{margin:0}.badge{background:var(--signal);color:#14161c;min-width:20px;height:20px;font:700 11px/20px var(--round);text-align:center;border-radius:999px;padding:0 6px}.badge.zero{background:var(--raised);color:var(--muted)}select,input,textarea,button{font:inherit;color:var(--fg)}select,input[type=text],input[type=password],textarea{background:var(--raised);border:1px solid var(--stroke);border-radius:12px;padding:7px 12px}main{max-width:1200px;margin:0 auto;padding:20px 20px 64px}.card{background:var(--surface);border:1px solid var(--stroke);box-shadow:var(--shadow);border-radius:20px;padding:16px}.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.tiles{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.tile{background:var(--surface);border:1px solid var(--stroke);border-radius:16px;padding:10px 14px}.tile b{font:700 24px/1.2 var(--round);font-variant-numeric:tabular-nums;display:block}.tile span{color:var(--muted);font-size:12px}.tile.hot b{color:var(--signal)}.chip{background:var(--raised);border:1px solid var(--stroke);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:12px;display:inline-flex}.chip b{color:var(--fg);font-weight:600}.chip.warn{color:var(--signal);border-color:color-mix(in srgb, var(--signal) 40%, transparent)}.chip.good{color:var(--mint);border-color:color-mix(in srgb, var(--mint) 40%, transparent)}.chips{flex-wrap:wrap;gap:6px;display:flex}.dot{border:1px solid var(--stroke);background:var(--c,var(--grey));border-radius:50%;flex:none;width:12px;height:12px;display:inline-block}.dots{flex-wrap:wrap;gap:3px;display:flex}.wrap{border:1px solid var(--stroke);background:var(--surface);border-radius:16px;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--stroke);vertical-align:top;padding:8px 12px}tr:last-child>td{border-bottom:0}th{color:var(--muted);background:var(--surface);white-space:nowrap;font-size:12px;font-weight:600}td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}.banner{border:1px solid color-mix(in srgb, var(--signal) 50%, transparent);background:color-mix(in srgb, var(--signal) 10%, transparent);color:var(--signal);border-radius:14px;margin-bottom:12px;padding:10px 14px}.ok{border:1px solid color-mix(in srgb, var(--mint) 50%, transparent);background:color-mix(in srgb, var(--mint) 10%, transparent);color:var(--mint);border-radius:14px;margin-bottom:12px;padding:10px 14px}.empty{text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:20px;padding:28px 16px}.empty b{color:var(--fg);margin-bottom:4px;font-size:15px;display:block}button{border:1px solid var(--stroke);background:var(--raised);cursor:pointer;border-radius:999px;padding:7px 16px;font-weight:600}button:hover{border-color:var(--line)}button.approve{background:var(--mint);color:#0c0d11;border-color:#0000}button.reject{color:var(--signal);border-color:color-mix(in srgb, var(--signal) 50%, transparent);background:0 0}button.primary{background:var(--tint);color:#fff;border-color:#0000}textarea{resize:vertical;width:100%;min-height:56px}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart .head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.chart .head span{color:var(--muted);font-size:12px}.chart .head b{font:700 22px var(--round);font-variant-numeric:tabular-nums}.chart .gridline{stroke:var(--stroke)}.chart .axis{stroke:var(--line)}.chart .line{stroke:var(--tint);fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart .area{fill:var(--tint);opacity:.12}.chart .last{fill:var(--glow)}.chart text{fill:var(--muted);font-size:10px;font-family:var(--round)}.chart text.value{fill:var(--fg);font-size:11px;font-weight:700}.section{margin-bottom:28px}.section>header{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.walls{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;display:grid}.wall{background:var(--surface);border:1px solid var(--stroke);box-shadow:var(--shadow);border-radius:20px;flex-direction:column;display:flex;overflow:hidden}.wall .body{flex-direction:column;gap:8px;padding:12px 14px 14px;display:flex}.preview{aspect-ratio:4/3;background:var(--raised);place-items:center;display:grid;overflow:hidden}.preview img{object-fit:cover;width:100%;height:100%;display:block}.preview .none{color:var(--muted);text-align:center;padding:12px;font-size:12px}.stats{gap:16px;display:flex}.stats div{color:var(--muted);font-size:12px}.stats b{color:var(--fg);font:700 18px var(--round);font-variant-numeric:tabular-nums;display:block}details.room{border:1px solid var(--stroke);background:var(--surface);border-radius:16px;margin-top:14px}details.room>summary{cursor:pointer;color:var(--muted);align-items:center;gap:8px;padding:10px 14px;list-style:none;display:flex}details.room>summary:before{content:"▸";transition:transform .2s}details.room[open]>summary:before{transform:rotate(90deg)}details.room>summary::-webkit-details-marker{display:none}details.room ul{columns:2 240px;color:var(--muted);margin:0;padding:0 14px 12px 34px}details.room li{break-inside:avoid;padding:2px 0}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:12px 0;display:flex}.pager nav{gap:6px;display:flex}details.climb>summary{cursor:pointer;align-items:center;gap:8px;list-style:none;display:flex}details.climb>summary::-webkit-details-marker{display:none}details.climb[open]>summary{font-weight:600}.raw{background:var(--raised);white-space:pre;border-radius:12px;max-width:640px;margin:8px 0 0;padding:10px;font:11px/1.4 ui-monospace,Menlo,monospace;overflow-x:auto}.holds{flex-wrap:wrap;gap:4px;max-width:640px;margin-top:6px;display:flex}.holds code{background:var(--raised);border-radius:6px;padding:1px 6px}.review{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px;margin-top:12px;display:grid}.review .sheet img{border:1px solid var(--stroke);border-radius:14px;width:100%;display:block}.review .sheet .none{aspect-ratio:4/3;background:var(--raised);color:var(--muted);border-radius:14px;place-items:center;display:grid}.review ul{margin:6px 0;padding-left:18px}.decide{flex-direction:column;gap:8px;margin-top:12px;display:flex}.decide .row{flex-wrap:wrap;gap:8px;display:flex}.cards{flex-direction:column;gap:14px;display:flex}footer.timing{color:var(--muted);margin-top:40px;font-size:11px}.login{max-width:380px;margin:12vh auto}.login input{width:100%;margin:8px 0 14px}.login button{width:100%}@media (max-width:720px){.review{grid-template-columns:1fr}main{padding:14px 16px 48px}.bar{padding:10px 16px}.bar nav{margin-left:0}}.sub h3{color:var(--fg)}.page{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.pills{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pill{background:var(--raised);border:1px solid var(--stroke);min-height:34px;color:var(--fg);border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:500;display:inline-flex}.pill:hover{border-color:var(--line)}.pill.on{background:color-mix(in srgb, var(--tint) 18%, var(--raised));border-color:color-mix(in srgb, var(--tint) 45%, transparent)}.pill.off{color:var(--muted);opacity:.5}.banner.wide{margin:12px 20px 0}.menu{display:inline-flex;position:relative}.trigger{background:var(--raised);border:1px solid var(--stroke);min-height:36px;color:var(--fg);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:6px 12px 6px 14px;font-weight:600;display:inline-flex}.bar .trigger{font:600 15px var(--round);text-overflow:ellipsis;background:0 0;border-color:#0000;max-width:60vw;overflow:hidden}.bar .trigger:hover{background:var(--raised)}.trigger.quiet{color:var(--muted);font-weight:500}.trigger.danger{color:var(--signal);background:0 0}.trigger.danger .chev{display:none}.chev{opacity:.7;flex:none;transition:rotate .2s}.menu:has(.pop:popover-open) .chev{rotate:180deg}.trigger:focus-visible,.pop a:focus-visible,.pop button:focus-visible,.pill:focus-visible,.shot:focus-visible{outline:2px solid var(--glow);outline-offset:2px}.pop{min-width:200px;max-width:min(360px,100vw - 32px);max-height:min(70vh,520px);color:var(--fg);background:var(--glass);-webkit-backdrop-filter:saturate(1.8)blur(24px);border:1px solid var(--stroke);box-shadow:0 18px 48px #00000059, var(--shadow);opacity:0;transform-origin:top;transition:opacity .16s ease, transform .16s ease, overlay .16s allow-discrete, display .16s allow-discrete;border-radius:18px;margin:0;padding:6px;overflow:auto;transform:scale(.96)translateY(-4px)}.pop:popover-open{opacity:1;transform:none}@starting-style{.pop:popover-open{opacity:0;transform:scale(.96)translateY(-4px)}}@supports (position-area:bottom){.pop{position-area:bottom span-right;position-try-fallbacks:flip-block, flip-inline;margin-top:6px;inset:auto}.pop.big{position-area:bottom}}@media (prefers-reduced-motion:reduce){.pop,.chev{transition:none}}.pop.wide{min-width:260px}.pop.big{max-width:min(900px,100vw - 32px);max-height:none;padding:4px}.pop.big img{border-radius:14px;width:100%;height:auto;display:block}.list{flex-direction:column;display:flex}.list a,.list .item{min-height:40px;color:var(--fg);text-align:left;background:0 0;border:0;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:8px 12px;font-weight:500;display:flex}.list a:hover,.list .item:hover,.list a:focus-visible{background:color-mix(in srgb, var(--fg) 8%, transparent)}.list a[aria-current=true]{background:color-mix(in srgb, var(--tint) 20%, transparent)}.list a small{color:var(--muted);font-size:12px}.list>.muted{padding:8px 12px 4px;font-size:12px}.list form{margin:0}.swatches a{text-transform:capitalize;justify-content:flex-start}.grades{grid-template-columns:repeat(6,1fr);gap:4px;display:grid}.grades button{min-width:44px;min-height:40px;font:600 14px var(--round);font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;border-radius:12px;padding:6px 0}.grades button:hover{background:color-mix(in srgb, var(--fg) 8%, transparent)}.grades button.on{background:var(--tint);color:#fff}.confirm{flex-direction:column;gap:8px;max-width:300px;padding:8px;display:flex}.confirm p{margin:0}.confirm .row{gap:8px;display:flex}.confirm .reject{background:var(--signal);color:#14161c;border-color:#0000}.today{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:14px;margin-bottom:8px;display:grid}.glance{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.glance>*{background:var(--surface);border:1px solid var(--stroke);color:var(--fg);border-radius:16px;padding:12px 14px}.glance>a:hover{border-color:var(--line)}.glance b{font:700 26px/1.1 var(--round);font-variant-numeric:tabular-nums;display:block}.glance b.hot{color:var(--signal)}.glance span{color:var(--muted);font-size:12px}.latest{background:var(--surface);border:1px solid var(--stroke);border-radius:16px;padding:12px 16px}.latest h2{margin:0 0 6px}.latest ul{margin:0;padding:0;list-style:none}.latest li{border-bottom:1px solid var(--stroke);padding:6px 0}.latest li:last-child{border-bottom:0}.walls{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.wall .head{flex-direction:column;gap:2px;display:flex}.shelf{color:var(--muted);margin:0 0 10px;font-weight:600}.preview{aspect-ratio:16/9;background:#0d0d12}.preview img{object-fit:contain}.climbs{flex-direction:column;display:flex}.climb{border-top:1px solid var(--stroke);grid-template-columns:88px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 0;display:grid}.climbs .climb:first-child{border-top:0}.list-card{background:var(--surface);border:1px solid var(--stroke);border-radius:20px;padding:6px 14px}.shot{border:1px solid var(--stroke);background:#0d0d12;border-radius:10px;place-items:center;width:88px;height:56px;padding:0;display:grid;overflow:hidden}.shot img{object-fit:cover;width:100%;height:100%;display:block}.shot.none{background:var(--raised)}.what{flex-direction:column;gap:2px;min-width:0;display:flex}.what>b{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;font-weight:600;display:flex;overflow:hidden}.what>.muted{font-size:12px}.what .chip{align-self:flex-start}.acts{align-items:center;gap:4px;display:flex}details.more{color:var(--muted);font-size:12px}details.more>summary{cursor:pointer;align-items:center;gap:6px;padding:4px 0;list-style:none;display:inline-flex}details.more>summary::-webkit-details-marker{display:none}details.more>summary:before{content:"▸";transition:transform .2s}details.more[open]>summary:before{transform:rotate(90deg)}details.more dl{grid-template-columns:auto minmax(0,1fr);gap:2px 12px;margin:6px 0 0;display:grid}details.more dd{overflow-wrap:anywhere;color:var(--fg);margin:0}details.room .inset{padding:0 14px 14px}details.room.bench,details.room.details{margin-top:24px}details.room h2{margin-top:20px}.wall .climb{grid-template-columns:88px minmax(0,1fr);row-gap:6px}.wall .acts{grid-column:2}.wall .what>.muted{white-space:nowrap}.pop{background:color-mix(in srgb, var(--raised) 94%, transparent)}@media (max-width:720px){.today,.walls{grid-template-columns:1fr}.climb{grid-template-columns:72px minmax(0,1fr)}.shot{width:72px;height:48px}.acts{grid-column:1/-1;justify-content:flex-end}.bar .links{margin-left:0}}
