@font-face{font-family:Race;src:url('./assets/race.ttf') format('truetype');font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:Instrument;src:url('./assets/instrument.ttf') format('truetype');font-weight:650;font-display:swap}
@font-face{font-family:Panel;src:url('./assets/panel.ttf') format('truetype');font-weight:600;font-display:swap}
:root{color-scheme:dark;--navy:#182b49;--bg:#0f1d30;--raised:#1a304b;--ink:#f7f2e6;--gold:#ffcd00;--aqua:#8cdedb;--muted:#b5c5d3;--line:#41536a;--paper:#f7f2e6;--race:Race,'Arial Narrow',Arial,sans-serif;--panel:Panel,Arial,sans-serif;--dial:Instrument,var(--panel);--body:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{min-width:280px;background:var(--bg);color:var(--ink);font:100%/1.5 var(--body);-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 95% 0%,#233955 0%,transparent 48rem),var(--bg)}
[hidden]{display:none!important}
a{color:inherit;text-underline-offset:.24em}
button,a{touch-action:manipulation}
button{font:inherit;color:inherit;cursor:pointer}
button:focus-visible,a:focus-visible{outline:3px solid var(--aqua);outline-offset:5px}
::selection{background:var(--gold);color:var(--bg)}
h1,h2,h3,p,ol,figure{margin:0}
img{display:block;max-width:100%}
.shell{width:min(calc(100% - 80px),1216px);margin-inline:auto}
.mast{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.publisher{display:inline-flex;align-items:center;gap:14px;text-decoration:none;font-family:var(--panel);font-size:1.1rem;font-weight:600;letter-spacing:.015em}
.speed-mark{display:flex;gap:3px;transform:skew(-23deg);padding-inline:4px}
.speed-mark i{height:18px;width:6px;background:var(--gold)}
.speed-mark i:first-child{width:3px}.speed-mark i:nth-child(2){width:4px}
.eyebrow,.page-foot,.art-top,.coords,.record-completed,.divisions,.view-nav,.text-button,th{font-family:var(--panel);font-weight:600}
.eyebrow,.page-foot,.art-top,th{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;line-height:1.5}
.eyebrow{display:flex;align-items:center;gap:12px}
.accent{color:var(--gold)}.muted{color:var(--muted)}
.rule{width:30px;height:3px;background:var(--gold)}
.gate-grid{padding-block:clamp(3rem,8vh,6rem);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr);gap:clamp(32px,6vw,92px);align-items:center;min-height:min(760px,calc(100svh - 148px))}
.gate-copy{padding-block:10px}
.wordmark{display:grid;line-height:.87;margin:25px 0 35px}
.ucsd{font-weight:750;letter-spacing:.16em;font-size:clamp(1.45rem,2.4vw,2.6rem);color:var(--gold);margin:0 0 6px 5px}
.cannonball{font:italic 700 clamp(5.2rem,9.3vw,9.15rem)/.88 var(--race);letter-spacing:-.035em;margin-left:-.035em}
.safety-head{font-size:clamp(1.6rem,2.9vw,2.7rem);letter-spacing:-.046em;font-weight:650;line-height:1.08;margin-bottom:17px}
.gate-note{color:var(--muted);max-width:44ch;font-size:1rem;line-height:1.55}
.action{display:inline-flex;align-items:center;justify-content:space-between;gap:1.5rem;background:var(--gold);color:var(--bg);border:1px solid var(--gold);box-shadow:inset 0 -2px 0 #d5a700;padding:14px 19px;font:600 1rem/1.3 var(--panel);text-decoration:none;min-height:49px}
.action:hover{background:#ffda48}.action span,.inline-link span{font:600 1.2rem/1 var(--body)}
.gate-copy .action{margin-top:26px}
.gate-art{position:relative;isolation:isolate;background:#1a2c42;border-top:4px solid var(--gold);box-shadow:12px 12px 0 #08162466}
.art-top{display:flex;justify-content:space-between;color:var(--paper);background:#1d314a;padding:14px 20px;border-inline:1px solid var(--line)}
.art-top span:first-child{display:flex;align-items:center;gap:9px}.art-top span:first-child::before{content:'';width:18px;height:8px;background:repeating-linear-gradient(112deg,var(--gold) 0 3px,transparent 3px 5px)}
.gate-route-map,.gate-route-map>img{display:block;width:100%}
.gate-route-map>img{height:auto;object-fit:contain}
@media (orientation:landscape) and (max-height:500px){.gate-art{width:min(100%,110svh);justify-self:center}}
.art-caption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 1rem;padding:21px 20px 25px;background:var(--paper);color:var(--bg);position:relative}
.gate-points{display:flex;align-items:center;gap:9px;font:600 clamp(.8rem,1.1vw,1.02rem)/1.25 var(--panel)}
.endpoint{display:grid;place-items:center;background:var(--navy);color:var(--paper);width:24px;height:23px;font:.78rem/1 var(--dial)}
.rail{width:clamp(15px,1.7vw,27px);height:1px;background:var(--line);margin-left:3px;position:relative}.rail::after{content:'';position:absolute;right:0;top:-2px;height:5px;width:5px;border:solid var(--line);border-width:1px 1px 0 0;transform:rotate(45deg)}
.art-corner{position:absolute;bottom:0;right:0;width:38px;height:6px;background:var(--gold)}
.page-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;padding:20px 0 25px;border-top:1px solid var(--line);color:var(--muted);font-size:.64rem}
.app{padding-top:26px}.app:not([hidden]) + .page-foot{margin-top:52px}
.series-head{border-bottom:1px solid var(--line);display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:22px}
.series-head .eyebrow{font-size:.63rem}.series-head .rule{width:20px;height:2px}
.series-name{display:flex;align-items:baseline;gap:10px;margin-top:8px;line-height:1}
.series-name span{font:bold .95rem var(--body);letter-spacing:.1em;color:var(--gold)}
.series-name b{font:italic 700 2.5rem/.9 var(--race);letter-spacing:-.03em}
.view-nav{display:flex;flex-wrap:wrap;gap:4px;font-size:.92rem}
.view-nav a{text-decoration:none;padding:10px 12px;color:var(--muted);border-bottom:2px solid transparent}
.view-nav a[aria-current="page"],.view-nav a.active{color:var(--ink);border-bottom-color:var(--gold)}
.view-nav a:hover{color:var(--gold)}
.view-title{margin:32px 0 21px;display:flex;align-items:end;justify-content:space-between;gap:20px}
.view-title h1{font:650 clamp(2.5rem,4.3vw,4rem)/1.08 var(--body);letter-spacing:-.065em;margin-top:5px}
.divisions{display:inline-flex;gap:2px;padding:4px;max-width:100%;border:1px solid var(--line);background:#0a1829}
.divisions button{min-height:40px;background:transparent;color:var(--muted);border:0;padding:8px 15px;white-space:nowrap;font:600 .94rem var(--panel)}
.divisions button[aria-pressed="true"]{background:var(--gold);color:var(--bg)}.divisions button:hover:not([aria-pressed="true"]){background:var(--raised);color:var(--ink)}
.record{position:relative;isolation:isolate;overflow:hidden;min-height:245px;display:grid;align-items:center;background:#1d344e;border:1px solid var(--line);border-left:6px solid var(--gold)}
.record-portrait{position:absolute;z-index:-1;inset:0 0 0 38%;background:linear-gradient(90deg,#1d344e 0%,#1d344ed4 16%,#10233e32 64%),linear-gradient(0deg,#0e1c2c73,transparent),url('./assets/campus.webp') 54% 51%/cover no-repeat;opacity:.92}
.record-copy{padding:clamp(24px,4vw,47px);max-width:100%;overflow-wrap:anywhere;line-height:1.15}
.record-copy>.eyebrow{color:var(--aqua);letter-spacing:.17em}
.record-time{font:650 clamp(2.6rem,7.3vw,6.4rem)/1.04 var(--dial);font-variant-numeric:tabular-nums;letter-spacing:-.06em;margin:.18em 0 .12em;color:var(--paper)}
.record-handle{font:650 clamp(1.6rem,3.1vw,3.05rem)/1.15 var(--body);letter-spacing:-.04em;color:var(--gold)}
.record-completed{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 18px;color:var(--ink);font-size:clamp(1.1rem,2vw,1.65rem);margin-top:10px}
.record-completed:empty,.record-completed:has(span:empty + span:empty){margin:0}
.record-checks{position:absolute;top:0;right:0;height:12px;width:72px;background:repeating-conic-gradient(var(--paper) 0 25%,#172a4166 0 50%) 0 0/12px 12px}
.section-line{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin:30px 0 12px}
.section-line h2,.text-panel h2,.paper-panel h2,.landmark h2,.history h2{font:650 1.65rem/1.15 var(--body);letter-spacing:-.045em}
.table-frame{border:1px solid var(--line)}
table{width:100%;border-collapse:collapse;table-layout:fixed}
caption.sr-only,.sr-only{position:absolute;clip-path:inset(50%);height:1px;width:1px;white-space:nowrap;overflow:hidden}
th,td{text-align:left;padding:12px 16px}th{background:#20364e;color:var(--muted);font-size:.67rem}
th:first-child{width:12%}th:nth-child(2){width:32%}th:nth-child(3){width:23%}
td{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;border-top:1px solid var(--line);line-height:1.35;font-size:.98rem}
td:first-child,td:nth-child(3){font-family:var(--panel)}tbody tr:nth-child(odd){background:#162a41}tbody tr:first-child td:first-child{color:var(--gold)}
.board-status{padding:0 16px;color:var(--muted)}.board-status p:not(:empty){padding:16px 0}.board-status button{margin-bottom:16px}.board-status:has(p:empty):has(button[hidden]){display:none}
.text-button,.inline-link{color:var(--gold);font:600 .96rem var(--panel);text-decoration:underline;text-underline-offset:.24em;background:transparent;border:0;padding:0}
.text-button:hover,.inline-link:hover{color:#ffe879}
.info-grid{display:grid;grid-template-columns:1.26fr 1fr;gap:clamp(22px,4vw,68px);align-items:start}
.text-panel,.paper-panel,.course-rule,.landmark{border-top:3px solid var(--gold)}
.text-panel{padding-top:20px}.text-panel h2,.paper-panel h2,.history h2{font-size:clamp(1.6rem,2.7vw,2.55rem);margin:7px 0 18px}
.criteria{list-style:none;counter-reset:criterion;padding:0}.criteria li{position:relative;counter-increment:criterion;padding:18px 0 18px 48px;border-top:1px solid var(--line)}
.criteria li::before{content:counter(criterion,decimal-leading-zero);position:absolute;left:0;top:20px;font:600 .86rem var(--panel);color:var(--aqua)}
.criteria strong{font-weight:650;font-size:1.1rem}.criteria p,.history p:not(.eyebrow){color:var(--muted);margin-top:5px;line-height:1.65}
.text-panel .inline-link{display:inline-block;margin-top:8px}.paper-panel{background:var(--paper);color:var(--navy);padding:clamp(20px,3vw,38px)}
.paper-panel p:not(.eyebrow){margin-top:13px;line-height:1.65}.paper-panel .eyebrow{color:#42566a}
.form-area{margin-top:22px;padding-top:10px;border-top:1px solid #b3bdc2}.form-area .action{margin-top:13px}.form-area #form-state{font-size:.94rem}.form-area a:focus-visible{outline-color:var(--navy)}
.course{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;align-items:stretch}
.course-rule{padding:19px 14px 0 0}.course-rule h2{font:italic 700 3.2rem/1 var(--race);margin:10px 0}
.course-rule p:not(.eyebrow){line-height:1.52;margin-top:12px}.course-rule .rule-copy{font-weight:600}.course-distance{margin-top:20px}
.landmark{background:var(--raised);min-width:0}.landmark img{width:100%;height:auto;aspect-ratio:1.85;object-fit:cover}.landmark figcaption{padding:16px 18px 22px}.landmark h2{margin:7px 0;font-size:clamp(1.25rem,2.1vw,2.05rem)}.landmark figcaption>p:not(.eyebrow){color:var(--muted);font-size:.96rem}.coords{font-size:.85rem;display:block;color:var(--muted);margin-top:9px;font-variant-numeric:tabular-nums}
.history{margin-top:36px;padding-top:25px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:20px}.history .inline-link{display:inline-block;margin:15px 0 5px}.history p+p{margin-top:12px!important}
#wipe{position:fixed;inset:0;pointer-events:none;z-index:9999;transform:translateX(-110%);background:var(--gold);overflow:hidden}
#wipe::after{content:'';position:absolute;inset:0 5vw 0 auto;transform:skewX(-14deg);width:12vw;background:repeating-linear-gradient(90deg,#eebc00 0 10%,transparent 10% 18%)}
@media(min-width:1500px){.gate-grid{min-height:min(850px,calc(100svh - 148px))}}
@media(max-width:900px){.shell{width:calc(100% - 48px)}.gate-grid{gap:26px}.rail{display:none}.art-caption{display:grid;gap:9px}.course{gap:12px}.view-nav{gap:0}.view-nav a{padding-inline:9px}}
@media(max-width:700px){.shell{width:calc(100% - 36px)}.mast{height:58px}.publisher{gap:10px;font-size:.94rem}.gate-grid{grid-template-columns:1fr;gap:24px;padding:29px 0;min-height:0}.gate-copy{padding:0}.wordmark{margin:20px 0 22px}.ucsd{font-size:1.32rem;margin-left:3px}.cannonball{font-size:clamp(4.8rem,16vw,7rem)}.safety-head br{display:none}.safety-head br::after{content:' '}.safety-head{font-size:1.85rem;margin-bottom:10px}.gate-note{max-width:46ch}.gate-copy .action{margin-top:18px}.gate-art{box-shadow:5px 5px 0 #08162466}.art-top{padding:9px 14px;font-size:.63rem}.art-caption{display:flex;justify-content:flex-start;gap:18px;padding:13px 14px 15px}.rail{display:block;width:20px}.gate-points{font-size:.88rem}.page-foot{font-size:.58rem;padding:15px 0 20px;letter-spacing:.09em}.series-head{align-items:flex-start;flex-direction:column;gap:17px;padding-bottom:0}.series-name b{font-size:2.22rem}.view-nav{width:100%;gap:4px}.view-nav a{font-size:.88rem;padding:8px 9px}.view-nav a:first-child{margin-left:-8px}.view-title{margin:23px 0 16px;align-items:flex-start;flex-direction:column;gap:15px}.view-title h1{font-size:2.65rem}.divisions{align-self:stretch}.divisions button{flex:1}.record{min-height:187px;border-left-width:4px}.record-portrait{left:26%;opacity:.7}.record-copy{padding:21px 17px}.record-time{font-size:clamp(2.3rem,9.5vw,3.8rem)}.record-handle{font-size:clamp(1.6rem,6.3vw,2.25rem)}.record-completed{font-size:1.15rem;gap:2px 12px}.section-line{margin:23px 0 10px}.info-grid{grid-template-columns:1fr;gap:24px}.course{grid-template-columns:1fr 1fr}.course-rule{grid-column:1/-1;padding-bottom:10px}.landmark figcaption{padding:12px}.history{grid-template-columns:1fr;gap:0}.history h2{margin-bottom:8px}.app:not([hidden]) + .page-foot{margin-top:30px}td,th{padding:10px 7px}td{font-size:.87rem}th{font-size:.59rem;letter-spacing:.07em}th:first-child{width:12%}th:nth-child(2){width:28%}th:nth-child(3){width:23%}}
@media(max-width:420px){.shell{width:calc(100% - 28px)}.gate-grid{gap:20px}.gate-note{font-size:.93rem}.action{gap:1rem;font-size:.94rem}.art-caption{gap:13px}.course{grid-template-columns:1fr}.landmark{display:grid;grid-template-columns:36% 1fr}.landmark img{height:100%;aspect-ratio:auto}.landmark figcaption{padding:12px}.landmark h2{font-size:1.3rem;margin:4px 0}.landmark figcaption>p:not(.eyebrow){font-size:.85rem}.coords{font-size:.76rem}.view-nav{justify-content:space-between}.view-nav a{padding-inline:5px}.view-nav a:first-child{margin-left:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}
.sheet-link{display:inline-block;margin-top:14px}
tbody th[scope='row']{font:600 1rem/1.35 var(--body);text-transform:none;letter-spacing:0;color:var(--ink);border-top:1px solid var(--line);overflow-wrap:anywhere;background:transparent}
#form-retry{margin-top:10px;color:var(--navy)}
.course-map{border-top:3px solid var(--gold);background:var(--raised);display:grid;place-items:center;overflow:hidden}.course-map svg{display:block;width:100%;height:auto;max-width:420px}
@media(min-width:701px){.course{grid-template-columns:.89fr .95fr 1.04fr;grid-template-rows:repeat(2,1fr)}.course-rule,.course-map{grid-row:span 2}.course-map{align-content:start;background:transparent}.landmark{display:grid;grid-template-columns:minmax(94px,.65fr) 1fr}.landmark img{height:100%;min-height:0;object-fit:cover}.landmark figcaption{align-self:center}.landmark h2{font-size:clamp(1.2rem,1.8vw,1.6rem)}}
@media(min-width:701px) and (max-width:980px){.course{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.landmark{display:block}.landmark img{height:auto}.course-rule,.course-map{grid-row:auto}.course-map svg{max-width:240px}}
@media(max-width:700px){.course-map{grid-column:1/-1}.course-map svg{width:100%;max-width:280px}.course-rule{padding-bottom:12px}tbody th[scope='row']{font-size:.87rem}}
.ucsd{font:italic 700 clamp(1.9rem,3.7vw,3.65rem)/.9 var(--race);letter-spacing:.005em;margin:0 0 8px 0}
.cannonball-wordmark{width:100%;height:auto;max-width:680px}
.series-name{align-items:center}.series-name span{font:italic 700 1.8rem/.94 var(--race);letter-spacing:0}.mini-wordmark{width:151px;height:auto}
@media(max-width:700px){.ucsd{font-size:2.05rem}.cannonball-wordmark{max-width:475px}.series-name span{font-size:1.5rem}.mini-wordmark{width:132px}}

.opening-post{margin-top:16px;border-left:3px solid var(--gold);background:var(--raised);padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px}.opening-post>div:last-child{text-align:right}.opening-post .eyebrow,.opening-post small{color:var(--muted)}.opening-post strong{font:italic 700 1.5rem/1.25 var(--race);text-transform:none}.opening-post b{font:650 1.25rem/1.3 var(--dial)}.opening-post small{display:block;font-size:.8rem;margin-top:3px}
.page-foot span:last-child{margin-left:auto;text-align:right}
.opening-post.is-leading{margin:0;padding:clamp(18px,4vw,44px);flex-wrap:wrap;gap:10px 20px}
.opening-post.is-leading strong{font-size:clamp(2rem,5vw,4rem)}
.opening-post.is-leading b{color:var(--gold);font-size:clamp(2.6rem,6vw,5.5rem);line-height:1.1}
@media(max-width:500px){.opening-post.is-leading{display:block}.opening-post.is-leading>div:last-child{text-align:left;margin-top:12px}}
