@font-face{font-family:Punctum;src:url("assets/punctum/Punctum-VF.woff2") format("woff2");font-weight:100 900;font-display:swap}
.build-log{background:var(--ink);color:var(--paper);padding:55px 5vw 70px}
.build-log :focus-visible{outline-color:var(--yellow)}
.build-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;padding:64px 0 72px}
.build-heading h2{font-size:clamp(44px,6.8vw,108px);line-height:1.1;letter-spacing:-.06em;margin:0}
.build-heading h2>span>span{color:var(--yellow)}
.build-heading>p{font-size:14px;max-width:340px;margin:0;line-height:1.9}
.activity-film{border-top:1px solid #ffffff38;border-bottom:1px solid #ffffff38}
.film-topline{display:flex;align-items:center;justify-content:space-between;min-height:70px;gap:12px}
.film-kicker{font:11px/1.5 "SFMono-Regular",Consolas,monospace;letter-spacing:.1em;color:#b7b5aa}
.film-controls{display:flex;align-items:center;gap:8px;color:#b7b5aa;font:10px/1.5 monospace}
#film-position{min-width:55px;font-variant-numeric:tabular-nums;letter-spacing:.08em}
.activity-play{display:grid;place-items:center;width:44px;height:44px;border:0;background:none;color:#b7b5aa;padding:11px}
.activity-play[hidden]{display:none}.activity-play svg{width:19px;height:19px}.activity-play .play-icon{display:none}.activity-play[aria-pressed=true] .play-icon{display:block}.activity-play[aria-pressed=true] .pause-icon{display:none}.shape-switch[aria-pressed=true]{color:var(--yellow)}
.matrix-stage{position:relative;width:100%;aspect-ratio:2.28;isolation:isolate;overflow:hidden;background:#20211d;border-radius:2px;contain:paint}
#activity-matrix{position:absolute;inset:0;width:100%;height:100%;opacity:0;touch-action:pan-y}
.matrix-stage[data-ready=true] #activity-matrix{opacity:1}
.matrix-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:7%;text-align:center;font:600 clamp(32px,8vw,140px)/1.2 Punctum,monospace;color:var(--yellow)}
.matrix-stage[data-ready=true] .matrix-fallback{visibility:hidden}
.film-story{padding:33px 0 29px;min-height:185px}
.film-scene-copy{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:start}
.film-scene-copy[hidden]{display:none}
.film-scene-copy h3{font-size:clamp(25px,3vw,43px);font-weight:600;letter-spacing:-.035em;line-height:1.32;margin:0}
.film-scene-copy h3>span{display:block;white-space:nowrap}
.film-scene-copy p{font-size:14px;line-height:1.85;color:#c2c0b6;margin:2px 0 7px}
.film-action{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-height:44px;color:var(--yellow);background:none;padding:5px 0;border:0;font-size:13px;text-decoration:none}
.film-action svg{width:20px;height:20px;transition:transform 220ms var(--ease)}
.film-chapters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.film-chapter{display:flex;position:relative;align-items:center;gap:12px;background:none;border:0;border-top:1px solid #ffffff30;padding:20px 0 23px;text-align:left;color:#99998e;min-height:65px;transition:color 180ms ease}
.film-chapter[aria-pressed=true]{color:var(--yellow)}
.film-chapter .chapter-index{font:400 20px/1 Punctum,monospace;letter-spacing:.04em}
.film-chapter>span:last-of-type{font-size:13px;white-space:nowrap}
.film-chapter i{position:absolute;inset:-1px 0 auto;height:2px;background:var(--yellow);transform:scaleX(0);transform-origin:left}
.activity-calendar{display:grid;grid-template-columns:1fr 2fr;gap:7vw;border-top:1px solid #ffffff24;padding:45px 0;margin-top:14px;scroll-margin-top:40px}
.calendar-heading h3{margin:0 0 20px;font-weight:500;line-height:1.2;letter-spacing:-.03em}
.calendar-heading h3 b{display:block;font:500 clamp(38px,5.5vw,84px)/1.1 Punctum,monospace;color:var(--yellow)}
.calendar-heading h3>span{display:block;font-size:15px;letter-spacing:0;margin-top:13px}
.calendar-heading p{font:11px/1.8 "SFMono-Regular",Consolas,monospace;color:#b7b5aa;margin:0}.calendar-heading p>span{display:block;margin-top:6px}
.calendar-body{min-width:0}
.calendar-months{display:grid;grid-template-columns:5fr 4fr 4fr 1fr;font:10px/1.5 "SFMono-Regular",Consolas,monospace;letter-spacing:.06em;color:#96958c;margin-bottom:13px}
.activity-heatmap{display:grid;grid-template-rows:repeat(7,1fr);grid-auto-flow:column;grid-template-columns:repeat(14,1fr);gap:0;position:relative;aspect-ratio:3.8}
.activity-heatmap button,.activity-heatmap .heat-empty{position:relative;display:grid;place-items:center;min-width:0;min-height:0;border:0;background:none;padding:0;border-radius:3px}
.activity-heatmap button::before{content:"";display:block;height:65%;width:auto;aspect-ratio:1;justify-self:center;border-radius:50%;background:var(--cell-color,#2c2c28);transition:transform 220ms var(--ease),box-shadow 220ms ease}
.activity-heatmap button[data-level="1"]{--cell-color:#6f6630}.activity-heatmap button[data-level="2"]{--cell-color:#a39531}.activity-heatmap button[data-level="3"]{--cell-color:#d3bf28}.activity-heatmap button[data-level="4"]{--cell-color:var(--yellow)}
.activity-heatmap button[data-scan=true]::before{transform:scale(1.23);box-shadow:0 0 0 1px #f7f5ef48}
.activity-heatmap button[aria-pressed=true]::before,.activity-heatmap button:focus-visible::before{transform:scale(1.12);box-shadow:0 0 0 2px var(--ink),0 0 0 3px var(--paper)}
.activity-heatmap button:focus-visible{outline:1px solid var(--paper);outline-offset:0}
.activity-heatmap .heat-empty{visibility:hidden}
.activity-loading{font-size:12px;grid-column:1/-1;grid-row:1/-1;align-self:center;color:#b7b5aa}
.calendar-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:20px;font:10px/1.6 "SFMono-Regular",Consolas,monospace;color:#b7b5aa}
#heatmap-date{font-variant-numeric:tabular-nums;min-width:0}
.heatmap-legend{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:9px}.heatmap-legend i{display:block;width:6px;height:6px;border-radius:50%;background:#6f6630}.heatmap-legend i:nth-of-type(2){background:#a39531}.heatmap-legend i:nth-of-type(3){background:#d3bf28}.heatmap-legend i:nth-of-type(4){background:var(--yellow)}
@media(hover:hover) and (pointer:fine){.activity-play:hover{color:var(--yellow)}.film-chapter:hover{color:var(--paper)}.film-action:hover svg{transform:translate(3px,-3px)}.activity-heatmap button:hover::before{transform:scale(1.2);box-shadow:0 0 0 2px var(--ink),0 0 0 3px var(--paper)}}
@media(max-width:900px){.build-heading{gap:30px}.build-heading>p{font-size:12px;max-width:300px}.activity-calendar{grid-template-columns:1fr 2fr;gap:28px}.film-chapters{gap:18px}.film-scene-copy{gap:28px}.film-scene-copy p{font-size:12px}.film-story{min-height:175px}}
@media(max-width:600px){
 .build-log{padding:36px 22px 45px}.build-heading{display:block;padding:42px 0 35px}.build-heading h2{font-size:clamp(36px,9.5vw,56px)}.build-heading>p{font-size:12px;line-height:1.85;margin:25px 0 0;max-width:none}
 .film-topline{min-height:61px}.film-kicker{font-size:8px;letter-spacing:.06em}.film-controls{gap:0}.activity-play{width:44px;height:44px;padding:11px}#film-position{min-width:44px;font-size:9px}
 .matrix-stage{aspect-ratio:1.44;margin-inline:-6px;width:calc(100% + 12px)}.matrix-fallback{font-size:9vw}
 .film-story{padding:25px 0 20px;min-height:238px}.film-scene-copy{grid-template-columns:1fr;gap:15px}.film-scene-copy h3{font-size:clamp(23px,6.6vw,34px);line-height:1.3}.film-scene-copy p{font-size:12px;line-height:1.8;margin:0}.film-action{font-size:12px;gap:20px;min-height:44px}
 .film-chapters{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.film-chapter{min-height:57px;padding:15px 0;gap:10px}.film-chapter .chapter-index{font-size:18px}.film-chapter>span:last-of-type{font-size:12px}
 .activity-calendar{grid-template-columns:1fr;gap:25px;margin-top:20px;padding:30px 0}.calendar-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.calendar-heading h3{margin:0}.calendar-heading h3 b{font-size:48px}.calendar-heading h3>span{font-size:12px;margin-top:9px}.calendar-heading p{font-size:9px;text-align:right;padding-top:7px}.calendar-heading p>span{margin-top:2px}.calendar-months{font-size:9px;margin-bottom:9px}.activity-heatmap{aspect-ratio:2.8}.activity-heatmap button::before{height:68%}.calendar-bottom{font-size:9px;gap:6px;margin-top:14px}.heatmap-legend{font-size:8px;gap:3px}
}
@media(prefers-reduced-motion:reduce){.activity-film *{transition:none!important}}
body.reduced .activity-film *{transition:none!important}
