/* Selected work shares the index's type, lines and dots; each project has its own palette. */
.intro-selected{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;margin-top:25px;padding-top:18px;border-top:1px solid var(--line);font:12px/1.6 var(--mono)}
.intro-selected>span{width:100%;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em}
.intro-selected button{color:var(--accent);text-align:left;padding:4px 0}
.intro-selected button span{margin-left:12px}
.intro-selected button:hover{color:var(--ink)}
.math-highlights{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);margin:0 0 32px;background:var(--surface)}
.math-highlight{min-width:0;padding:24px 28px 22px}
.math-highlight+.math-highlight{border-left:1px solid var(--line)}
.math-highlight .eyebrow{font-size:11px;color:var(--accent);letter-spacing:.025em}
.math-highlight .eyebrow span{color:var(--muted)}
.math-highlight h3{margin:13px 0 10px;font-size:25px;line-height:1.25;font-weight:400;letter-spacing:-.03em}
.math-highlight h3 button{display:flex;align-items:start;justify-content:space-between;width:100%;gap:20px;text-align:left;line-height:inherit}
.math-highlight h3 button>span{font-size:23px;color:var(--accent)}
.math-highlight h3 button:hover{color:var(--accent)}
.highlight-description{font-size:14px;line-height:1.65;color:var(--muted);max-width:470px}
.highlight-status{font:10px/1.6 var(--mono);color:#d5dfb6;margin-top:17px}
.highlight-status::before{content:'·';margin-right:7px;color:var(--accent)}
.highlight-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:12px}
.highlight-links .text-link{font-size:12px;gap:10px;border-bottom:1px solid #68876b;padding-bottom:4px}
.highlight-links .text-link span{font-size:16px}
.scope-label{display:block;font:10px/1.6 var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--accent);margin-bottom:6px}
.math-story .verification-status{font:11px/1.7 var(--mono);color:var(--accent);margin:15px 0 16px}
.verification-link{display:inline-flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:4px}
.verification-link:hover{color:var(--ink)}
.paper-links .text-link{font-size:13px;gap:12px}
.proof-notes{border-top:1px solid var(--line);margin-top:24px}
.proof-notes>summary,.verification-guide>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;list-style:none;cursor:pointer;font:12px/1.6 var(--mono);color:var(--muted)}
.proof-notes>summary::-webkit-details-marker,.verification-guide>summary::-webkit-details-marker{display:none}
.proof-notes>summary>span,.verification-guide>summary>span{font-size:20px;color:var(--accent)}
.proof-notes[open]>summary>span,.verification-guide[open]>summary>span{transform:rotate(45deg)}
.proof-notes>div>p,.verification-guide>p{font-size:14px;line-height:1.8;color:var(--muted);margin-top:14px;overflow-wrap:anywhere}
.proof-notes .paper-credit{margin-top:17px}
.proof-notes .text-link{font-size:13px;margin-top:14px;gap:12px}
.verification-guide{max-width:860px;margin-top:22px}
.verification-guide>summary{justify-content:flex-start;gap:18px}

.wide-card,.jam-card{grid-column:1/-1}
#collection-panel[data-section=projects] .project-grid{gap:52px}
.wide-art{--project-line:#d9d5bc36;--project-ink:#eeeada;color:var(--project-ink);background:#1c201d;border-color:#525c50}
.project-topline{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:16px 26px;border-bottom:1px solid var(--project-line);font:10px/1.5 var(--mono);letter-spacing:.065em}
.project-topline>span:first-child::before{content:'■';font-size:7px;margin-right:11px;color:var(--project-accent)}
.project-topline>span:last-child{color:var(--project-accent)}
.project-stage{display:grid;grid-template-columns:31% 69%;min-height:390px}
.project-poster{min-width:0;padding:36px 28px 28px;display:flex;flex-direction:column;position:relative}
.aurora-card{--project-accent:#d3af80}
.aurora-card .wide-art{background:#191d1a}
.aurora-brand{line-height:0;margin:5px 0 38px}
.aurora-brand img{width:100%;max-width:265px;height:auto}
.project-deck{font-size:30px;line-height:1.2;letter-spacing:-.035em;margin:0}
.project-poster-foot{margin-top:auto;padding-top:30px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.project-poster-foot>span:first-child{font:9px/1.8 var(--mono);letter-spacing:.055em;color:var(--project-accent)}
.aurora-orbit{display:block;position:relative;width:67px;height:67px;flex-shrink:0;border:1px solid #d3af8066;border-radius:50%;transform:rotate(-32deg)}
.aurora-orbit::before{content:'';position:absolute;inset:8px -8px;border:1px solid #d3af8077;border-radius:50%}
.aurora-orbit::after{content:'';position:absolute;left:4px;top:5px;width:6px;height:6px;background:#d3af80;border-radius:50%}
.project-model-stage{position:relative;overflow:hidden;min-width:0;border-left:1px solid var(--project-line);background:radial-gradient(ellipse at 50% 45%,#cbcbb410,transparent 65%)}
.project-model-stage>.sculpture{height:390px;background:none}
.project-model-stage .sculpture-hint{font-size:10px;color:var(--project-accent);left:24px;bottom:16px}
.aurora-guides{position:absolute;width:340px;height:340px;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #d3af8012;border-radius:50%;pointer-events:none}
.aurora-guides::before,.aurora-guides::after{content:'';position:absolute;border:1px solid #d3af8012;border-radius:50%;inset:35px}
.aurora-guides::after{inset:-36px}
.project-registration{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 20px;padding:14px 26px;border-top:1px solid var(--project-line);font:9px/1.6 var(--mono);letter-spacing:.02em}
.project-registration>span:last-child{color:var(--project-accent)}
.wide-copy,.jam-copy{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;padding-top:24px}
.wide-copy .eyebrow,.jam-copy .eyebrow{font-size:10px;letter-spacing:.065em;margin-top:0}
.wide-copy .project-tag,.jam-copy .project-tag{font-size:25px!important;letter-spacing:-.025em;line-height:1.35;max-width:350px;margin-top:12px!important}
.wide-copy .project-credit,.jam-copy .project-credit{max-width:350px;color:#d3dcb7}
.wide-copy>div:nth-child(2)>p:first-child,.jam-copy>div:nth-child(2)>p:first-child{margin-top:0}
.circuit-card{--project-accent:#cbdd83}
.circuit-card .wide-art{background:#14392c;border-color:#597557;--project-line:#bad09238}
.circuit-card .project-poster{background:linear-gradient(90deg,#c7d89105 1px,transparent 1px);background-size:32px 100%}
.circuit-brand{font-size:clamp(52px,5.8vw,80px);line-height:1;letter-spacing:-.065em;font-weight:500;margin:0 0 32px;color:#e5edab}
.circuit-brand>span{color:#d3af80}
.circuit-omega{font-size:71px;line-height:1;color:#cbdd8380;font-weight:400}
.circuit-card .project-model-stage{background:radial-gradient(ellipse at 50% 48%,#b7d78c15,transparent 62%),radial-gradient(#c2d4a11f .7px,transparent .8px);background-size:100% 100%,24px 24px}
.circuit-traces{position:absolute;inset:0;width:100%;height:100%;color:#adc58d;opacity:.22;pointer-events:none;transition:opacity .3s}
.circuit-card:hover .circuit-traces{opacity:.5}

/* Only the jam entry carries Exploit Summit's coral and stepped metallic cross. */
.jam-card{--rally-impact:0}
.jam-art{background:#ef604b;border-color:#ef604b;color:#19291f}
.jam-topline{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 26px;border-bottom:1px solid #19291f4a;font:10px/1.5 var(--mono);letter-spacing:.065em}
.jam-topline>span::before{content:'■';font-size:7px;margin-right:11px}
.jam-stamp{display:flex;align-items:center;gap:9px;font-weight:600;padding:3px 0}
.jam-stamp>span:last-child{margin-left:6px;font-size:16px}
.jam-stamp-symbol{font-size:22px;line-height:1}
.jam-stamp:hover{color:#fff2d9}
.jam-stage{display:grid;grid-template-columns:31% 69%;min-height:390px}
.jam-poster{padding:26px 28px 28px;display:flex;flex-direction:column;position:relative;overflow:hidden;background-image:linear-gradient(90deg,#19291f0c 1px,transparent 1px);background-size:40px 100%}
.jam-entry{font:10px var(--mono);letter-spacing:.035em;margin:0}
.jam-display{font-size:clamp(68px,7.1vw,100px);line-height:.85;letter-spacing:-.065em;font-weight:600;margin:27px 0 22px}
.jam-display>span{display:block}.jam-display>span+span{margin-top:6px}.jam-period{color:#f6edd6}
.jam-deck{font-size:18px;line-height:1.35;letter-spacing:-.02em;margin:0}
.jam-poster-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:auto;padding-top:22px}
.jam-poster-bottom>span{font:9px/1.6 var(--mono);letter-spacing:.06em}
.jam-pixel-cross{width:92px;flex-shrink:0;line-height:0;filter:brightness(calc(1 + var(--rally-impact,0)*.45))}
.jam-pixel-cross svg{width:100%;height:auto}
.jam-registration{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 26px;border-top:1px solid #19291f4a;font:9px/1.6 var(--mono);letter-spacing:.02em}
.jam-copy .eyebrow{color:#f7a68b}
.jam-copy .jam-context{font-size:13px;line-height:1.75}
.jam-links{display:flex;flex-wrap:wrap;gap:6px 25px;margin-top:3px}
.jam-copy .jam-links .text-link{font-size:13px;gap:10px;margin-top:15px}
.rally-player{min-width:0;background:#172b22;color:#efe9d0}
.jam-stage>.rally-player{border-left:1px solid #19291f4a}
.rally-court{height:100%;min-height:390px;position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 50% 49%,#3c51453b,transparent 65%),radial-gradient(#c2ccb215 .65px,transparent .9px);background-size:100% 100%,20px 20px}
.rally-court canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.rally-effects{z-index:1}
.rally-surface{position:absolute;inset:0;width:100%;height:100%;z-index:2;background:transparent;cursor:pointer;touch-action:pan-y}
.rally-surface:focus-visible{outline:2px solid var(--accent);outline-offset:-7px}
.rally-surface:disabled{cursor:default}
.pongping-game-art .rally-player{background:var(--surface)}
.pongping-game-art .rally-court{height:355px;min-height:0}

@media(min-width:1500px){.project-stage,.jam-stage{min-height:420px}.project-model-stage>.sculpture{height:420px}.rally-court{min-height:420px}.project-poster{padding:38px 34px 30px}}
@media(max-width:1000px){.project-poster{padding:32px 24px 26px}.project-stage,.jam-stage{grid-template-columns:32% 68%}.project-deck{font-size:25px}.circuit-brand{font-size:59px}.wide-copy,.jam-copy{gap:36px}.jam-poster{padding:24px}.jam-display{font-size:74px}.jam-deck{font-size:16px}.jam-entry{font-size:9px}.jam-pixel-cross{width:80px}.math-highlight{padding:23px}.math-highlight h3{font-size:23px}}
@media(max-width:720px){
  .intro-selected{margin-top:19px}
  .math-highlights{grid-template-columns:1fr;margin-bottom:26px}
  .math-highlight{padding:22px}
  .math-highlight+.math-highlight{border-left:0;border-top:1px solid var(--line)}
  .math-highlight h3{font-size:23px;max-width:330px}
  .highlight-status{font-size:10px;line-height:1.8}
  .highlight-links{gap:9px 22px}
  .scope-label{display:block;font:10px/1.6 var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--accent);margin-bottom:6px}
.math-story .verification-status{font-size:11px}
  .project-topline,.jam-topline{padding:13px 17px;gap:12px;font-size:8px;letter-spacing:.01em}
  .project-topline>span:first-child::before,.jam-topline>span::before{margin-right:6px;font-size:6px}
  .project-stage,.jam-stage{grid-template-columns:1fr;min-height:0}
  .project-poster{height:217px;padding:27px 23px 22px;display:grid;grid-template-columns:1.05fr 1fr;gap:12px 15px;grid-template-rows:1fr auto}
  .aurora-brand{margin:5px 0 0;align-self:start}
  .aurora-brand img{max-width:195px}
  .project-deck{font-size:19px;line-height:1.35;text-align:right}
  .project-poster-foot{grid-column:1/-1;padding:0;align-items:flex-end}
  .project-poster-foot>span:first-child{font-size:8px}
  .aurora-orbit{width:46px;height:46px;margin-right:6px}
  .circuit-brand{font-size:46px;margin:0}
  .circuit-omega{font-size:48px}
  .project-model-stage,.jam-stage>.rally-player{border-left:0;border-top:1px solid var(--project-line,#19291f4a)}
  .project-model-stage>.sculpture{height:310px}
  .project-model-stage .sculpture-hint{font-size:9px;left:19px;bottom:15px}
  .aurora-guides{width:255px;height:255px}
  .project-registration{padding:14px 17px;gap:7px 17px;font-size:8px;line-height:1.8}
  .aurora-card .project-registration>span:first-child{width:100%}
  .aurora-card .project-registration>span:last-child{font-size:7px}
  .wide-copy,.jam-copy{grid-template-columns:1fr;gap:18px;padding-top:23px}
  .wide-copy .project-tag,.jam-copy .project-tag{font-size:24px!important;max-width:300px}
  .wide-copy .project-credit,.jam-copy .project-credit{font-size:11px}
  #collection-panel[data-section=projects] .project-grid{gap:40px}
  .jam-stamp{gap:6px;font-size:8px}.jam-stamp-symbol{font-size:18px}.jam-stamp>span:last-child{margin-left:2px;font-size:13px}
  .jam-poster{height:217px;display:grid;grid-template-columns:1fr 120px;grid-template-rows:22px 1fr;padding:21px 24px}
  .jam-entry{grid-column:1/-1;font-size:9px}
  .jam-display{font-size:60px;line-height:.86;margin:17px 0 0;align-self:start}.jam-display>span+span{margin-top:4px}
  .jam-deck{font-size:13px;line-height:1.45;margin-top:15px;text-align:right}
  .jam-poster-bottom{position:absolute;right:24px;bottom:21px;padding:0;display:block}.jam-poster-bottom>span{display:none}.jam-pixel-cross{width:74px}
  .rally-court{height:310px;min-height:0}
  .jam-registration{padding:13px 17px;gap:12px;font-size:7px;letter-spacing:.01em}
  .jam-links{gap:3px 22px}
  .pongping-game-art .rally-court{height:330px}
}
@media(max-width:360px){.project-topline,.jam-topline{padding:12px 13px;font-size:7px}.project-poster{padding:25px 19px 22px}.project-deck{font-size:19px}.circuit-brand{font-size:42px}.jam-stamp{font-size:7px}.jam-poster{padding:20px;grid-template-columns:1fr 105px}.jam-display{font-size:55px}.jam-poster-bottom{right:20px}.jam-registration{font-size:6px;padding:12px 13px}.project-registration{padding:13px;font-size:7px}.aurora-card .project-registration>span:last-child{font-size:6px}.highlight-links{gap:8px 16px}.highlight-links .text-link{font-size:11px}}
