.history-lab{--hl-ink:#1b201d;--hl-paper:#f4f2eb;--hl-red:#bc3b2d;--hl-line:#c6c8bd;padding:0!important;background:var(--hl-paper);color:var(--hl-ink);overflow:hidden}
.history-lab *{box-sizing:border-box}
.history-lab button:focus-visible,.history-lab a:focus-visible{outline:3px solid #e65342;outline-offset:4px}
.hl-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);min-height:520px;background:var(--hl-ink);color:var(--hl-paper)}
.hl-hero-copy{padding:clamp(45px,6vw,95px) clamp(24px,7vw,120px) 48px}
.history-lab .hl-hero-copy .eyebrow{color:#cfbdac;margin:0 0 40px}
.history-lab h1{font-size:clamp(54px,6vw,98px);line-height:.95;letter-spacing:-.065em;margin:0 0 34px;max-width:760px}
.history-lab h1 em,.hl-results h2 em{color:#dd5545;font-family:Georgia,serif;font-weight:400;letter-spacing:-.05em}
.hl-hero-copy>p:not(.eyebrow){max-width:560px;color:#d4d8ce;font-size:clamp(16px,1.4vw,19px);line-height:1.6;margin:0}
.hl-hero-meta{display:flex;flex-wrap:wrap;gap:20px;margin-top:55px;color:#d89e89;font:11px/1.5 var(--mono,monospace);letter-spacing:.1em}
.hl-hero-art{position:relative;min-height:520px;overflow:hidden;background:#302d2b;border-left:1px solid #796f67;color:#f0e6d8;padding:clamp(28px,4vw,60px)}
.hl-hero-art:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 43px,#f0e6d80a 44px 45px),radial-gradient(circle at 72% 50%,#a44b3725,transparent 55%);pointer-events:none}
.hl-art-index{position:relative;display:block;font:11px var(--mono,monospace);letter-spacing:.18em;color:#daac96}
.hl-art-rule{position:absolute;left:clamp(28px,4vw,60px);right:clamp(28px,4vw,60px);top:23%;border-top:1px solid #bdad9a75}
.hl-art-word{position:relative;display:flex;flex-direction:column;align-items:flex-start;margin-top:clamp(70px,8vw,125px);font:400 clamp(68px,8vw,130px)/.84 Georgia,serif;letter-spacing:-.075em}
.hl-art-word span:last-child{align-self:flex-end;color:#e77961}.hl-art-word i{align-self:center;color:#d9b6a7;font:normal 11px var(--mono,monospace);letter-spacing:.2em;margin:21px 0 13px}
.hl-art-axis{position:absolute;left:clamp(28px,4vw,60px);right:clamp(28px,4vw,60px);bottom:78px;display:flex;align-items:center;justify-content:space-between;color:#d4b5a5;font:10px var(--mono,monospace);letter-spacing:.15em}.hl-art-axis span:nth-child(2){font:31px Georgia,serif;color:#e77961}
.hl-art-footer{position:absolute;bottom:35px;left:clamp(28px,4vw,60px);right:clamp(28px,4vw,60px);font:11px var(--mono,monospace);letter-spacing:.18em;color:#bfb2a6;border-top:1px solid #a89c8a78;padding-top:12px}
.hl-app{max-width:1500px;margin:auto;padding:clamp(36px,5vw,78px) clamp(20px,5vw,80px) 85px}
.hl-section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:23px}.hl-section-head .eyebrow{margin:0}.hl-section-head>p:last-child{font-size:13px;color:#656a60;margin:0}
.hl-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.hl-mode{min-width:0;display:flex;flex-direction:column;align-items:start;text-align:left;min-height:360px;padding:30px 34px;color:var(--hl-ink);background:#e6e7df;border:1px solid #c6c9bc;transition:background .2s,transform .2s,border-color .2s}.hl-mode:hover{background:#dce1d5;border-color:#8c998b;transform:translateY(-4px)}.hl-mode:nth-child(2){background:#d8d5ca}.hl-mode:nth-child(2):hover{background:#d5cfc2}.hl-mode-number{font:11px var(--mono,monospace);letter-spacing:.12em;color:#656c61}.hl-mode-symbol{margin:auto 0 10px;color:var(--hl-red);font:70px/.8 Georgia,serif;letter-spacing:-.2em}.hl-mode strong{font:clamp(32px,3.2vw,52px)/1.08 Georgia,serif;letter-spacing:-.04em;margin-bottom:15px}.hl-mode>span:nth-last-child(2){max-width:430px;font-size:15px;line-height:1.55;color:#565d53}.hl-mode-cta{width:100%;border-top:1px solid #9fa79a;margin-top:25px;padding-top:17px;display:flex;justify-content:space-between;font:12px var(--mono,monospace);letter-spacing:.08em;color:var(--hl-red)}
.hl-method{font:12px/1.7 var(--mono,monospace);color:#6a6f65;max-width:800px;margin:28px 0 0}
.hl-session-bar{display:grid;grid-template-columns:1fr 1.1fr auto auto;align-items:center;gap:28px;border-top:1px solid var(--hl-ink);border-bottom:1px solid var(--hl-ink);padding:16px 0}.hl-session-bar>div:first-child{display:flex;align-items:center;gap:20px}.hl-step{font:10px var(--mono,monospace);letter-spacing:.1em;color:var(--hl-red)}.hl-session-bar strong{font:600 20px Georgia,serif;white-space:nowrap}.hl-session-bar strong span{font:12px var(--mono,monospace);color:#767b70}.hl-meter{display:flex;gap:5px;align-items:center}.hl-meter>span:not(.sr-only){height:7px;flex:1;background:#d5d8ce}.hl-meter>.done{background:var(--hl-ink)!important}.hl-meter>.current{background:var(--hl-red)!important}.hl-score{white-space:nowrap;margin:0;font:700 25px Georgia,serif}.hl-score span{font:10px var(--mono,monospace);letter-spacing:.08em;color:#6b7067}.hl-exit{background:transparent;border:0;border-bottom:1px solid var(--hl-ink);padding:7px 0;white-space:nowrap;font:12px var(--mono,monospace)}
.hl-prompt{padding:50px 0 30px}.hl-prompt .eyebrow{color:var(--hl-red);margin:0 0 10px}.hl-prompt h2{font:clamp(39px,5vw,70px)/1.05 Georgia,serif;letter-spacing:-.05em;margin:0 0 15px}.hl-prompt p:last-child{max-width:680px;color:#60665e;font-size:15px;margin:0}
.hl-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.hl-choice{display:flex;flex-direction:column;min-width:0;min-height:500px;padding:0;text-align:left;background:#e3e4dc;border:1px solid #aeb4a9;transition:transform .2s,border-color .2s,box-shadow .2s}.hl-choice:not(:disabled):hover{transform:translateY(-4px);border-color:var(--hl-red);box-shadow:0 12px 30px #1c25121c}.hl-choice:disabled{opacity:1;cursor:default}.hl-choice.is-correct{border:3px solid #647955}.hl-choice.is-revealed{border-color:#c2c5b9}.hl-cover{position:relative;display:block;width:100%;height:clamp(210px,26vw,320px);background:radial-gradient(circle at 65% 25%,#859481,#515e55 45%,#283b34);overflow:hidden}.hl-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0e20122d,transparent 55%,#14241d5c)}.hl-cover img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.05)}.hl-cover-index{position:absolute;z-index:1;top:18px;left:20px;color:white;font:12px var(--mono,monospace);border:1px solid #ffffffa8;padding:5px 8px}.hl-choice-body{display:flex;flex:1;flex-direction:column;padding:25px 28px 22px;width:100%}.hl-choice-kicker{font:11px var(--mono,monospace);letter-spacing:.1em;color:#6b7369;text-transform:uppercase}.hl-choice-body strong{font:clamp(28px,3vw,42px)/1.08 Georgia,serif;letter-spacing:-.04em;margin:12px 0 25px}.hl-choice-foot{margin-top:auto;padding-top:15px;border-top:1px solid #a9aea1;display:flex;justify-content:space-between;color:var(--hl-red);font:12px var(--mono,monospace);letter-spacing:.08em}
.hl-order-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.7fr);gap:clamp(30px,5vw,80px)}.hl-range-label{display:flex;justify-content:space-between;font:10px var(--mono,monospace);letter-spacing:.2em;color:#71776d;padding:9px 0;border-top:1px solid #b8bdb3}.hl-timeline{list-style:none;margin:0;padding:0;display:grid;gap:8px}.hl-timeline-card{display:grid;grid-template-columns:38px 130px minmax(0,1fr) 48px;align-items:center;min-height:105px;background:#e4e5dc;border:1px solid #b3b8ad;gap:14px;padding:9px 16px}.hl-position{font:21px Georgia,serif;color:#8b9285}.hl-timeline-visual{display:block;height:82px;background:linear-gradient(130deg,#81917f,#30433a);overflow:hidden}.hl-timeline-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.65)}.hl-timeline-title{min-width:0}.hl-timeline-title strong{display:block;font:clamp(21px,2vw,28px)/1.1 Georgia,serif;letter-spacing:-.025em}.hl-timeline-title small{display:block;font:11px var(--mono,monospace);color:#667066;margin-top:8px}.hl-reorder{display:flex;flex-direction:column;gap:3px}.hl-reorder button{background:#cdd1c6;border:0;min-height:38px;font-size:20px}.hl-reorder button:not(:disabled):hover{background:var(--hl-ink);color:white}.hl-reorder button:disabled{opacity:.4}.hl-order-aside{padding:30px 0;border-top:1px solid var(--hl-ink)}.hl-aside-mark{font-size:62px;color:var(--hl-red);line-height:1}.hl-order-aside h3{font:34px/1.1 Georgia,serif;letter-spacing:-.03em;max-width:300px}.hl-order-aside p{font-size:14px;color:#687067;line-height:1.6}.hl-primary,.hl-secondary{display:inline-flex;justify-content:space-between;align-items:center;gap:28px;min-height:52px;padding:13px 18px;text-decoration:none;font:13px var(--mono,monospace);border:1px solid var(--hl-ink);cursor:pointer}.hl-primary{background:var(--hl-red);color:#fff;border-color:var(--hl-red)}.hl-primary:hover{background:#93291f;color:#fff}.hl-secondary{background:transparent;color:var(--hl-ink)}.hl-secondary:hover{background:var(--hl-ink);color:white}.hl-order-aside .hl-primary{width:100%;margin-top:25px}
.hl-feedback{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(20px,5vw,80px);background:var(--hl-ink);color:#f3f1e8;padding:clamp(25px,4vw,55px);margin-top:26px}.hl-feedback .eyebrow{color:#ed9885}.hl-feedback h3{font:clamp(30px,3vw,45px)/1.13 Georgia,serif;letter-spacing:-.03em;margin:0 0 14px}.hl-feedback p:not(.eyebrow){color:#c8d0c6;font-size:14px;max-width:350px}.hl-feedback .hl-primary{margin-top:22px}.hl-record-links{list-style:none;margin:0;padding:0}.hl-record-links li{display:grid;grid-template-columns:90px 1fr;gap:4px 14px;border-bottom:1px solid #7b8679;padding:13px 0;font-size:13px}.hl-record-links li>span:first-child{font:12px var(--mono,monospace);color:#e09a86}.hl-record-links a{color:#fff;text-decoration:none}.hl-record-links a:hover{text-decoration:underline}.hl-image-note{grid-column:2;font:10px/1.4 var(--mono,monospace);color:#b5bfb3;overflow-wrap:anywhere}
.hl-results{min-height:540px;background:var(--hl-ink);color:var(--hl-paper);padding:clamp(30px,7vw,90px);position:relative;overflow:hidden}.hl-result-mark{position:absolute;right:7%;top:6%;color:#e15c49;font-size:clamp(100px,19vw,300px);line-height:1;opacity:.6}.hl-results h2{position:relative;font:clamp(50px,6vw,86px)/.97 Georgia,serif;letter-spacing:-.06em;max-width:720px;margin:30px 0}.hl-result-score{font:70px/.9 Georgia,serif;color:#e56a55;margin:25px 0}.hl-result-score span{font:16px var(--mono,monospace);color:#d1d7cc}.hl-results>p:not(.eyebrow):not(.hl-result-score):not(.hl-method){max-width:520px;color:#d0d8cd}.hl-result-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hl-results .hl-secondary{border-color:#a4aea1;color:#fff}.hl-results .hl-secondary:hover{color:var(--hl-ink);background:#fff}.hl-results .hl-method{color:#9faea0}.hl-error{padding:50px 0}
@media(max-width:900px){.hl-hero{grid-template-columns:1fr}.hl-hero-art{min-height:230px;border-left:0;border-top:1px solid #69726b}.hl-orbit{width:310px;top:-45px;left:auto;right:4%}.hl-orbit-two{width:190px;top:15px;left:auto;right:12%}.hl-art-word{font-size:80px;top:33%;left:7%}.hl-art-cross{font-size:40px}.hl-session-bar{grid-template-columns:1fr auto;gap:12px}.hl-meter{grid-column:1/-1;grid-row:2}.hl-score{grid-column:2;grid-row:1}.hl-exit{grid-column:1/-1;justify-self:start}.hl-order-layout{grid-template-columns:1fr}.hl-order-aside{padding:20px 0}.hl-order-aside h3{max-width:none;margin:10px 0}.hl-order-aside .hl-primary{max-width:400px}.hl-feedback{grid-template-columns:1fr}}
@media(max-width:620px){.hl-hero{min-height:0}.hl-hero-copy{padding:42px 22px 36px}.hl-hero-copy .eyebrow{margin-bottom:25px!important}.history-lab h1{font-size:clamp(46px,11vw,65px);letter-spacing:-.06em}.hl-hero-meta{margin-top:30px;gap:10px;font-size:9px}.hl-hero-art{min-height:190px}.hl-art-word{font-size:65px}.hl-app{padding:30px 16px 60px}.hl-section-head{display:block}.hl-section-head>p:last-child{margin-top:8px}.hl-mode-grid,.hl-pair{grid-template-columns:1fr}.hl-mode{min-height:300px;padding:22px}.hl-mode-symbol{font-size:56px}.hl-mode strong{font-size:33px}.hl-session-bar strong{font-size:18px}.hl-step{font-size:9px}.hl-score{font-size:23px}.hl-score span{font-size:9px}.hl-prompt{padding:35px 0 24px}.hl-prompt h2{font-size:42px}.hl-choice{min-height:0}.hl-cover{height:190px}.hl-choice-body{padding:20px}.hl-choice-body strong{font-size:31px;margin:8px 0 20px}.hl-timeline-card{grid-template-columns:25px 70px minmax(0,1fr) 38px;gap:8px;padding:7px;min-height:84px}.hl-timeline-visual{height:65px}.hl-timeline-title strong{font-size:17px}.hl-timeline-title small{font-size:9px}.hl-position{font-size:16px}.hl-reorder button{min-height:32px}.hl-feedback{padding:25px 19px}.hl-record-links li{grid-template-columns:75px 1fr;font-size:12px}.hl-record-links li>span:first-child{font-size:10px}.hl-results{padding:35px 22px}.hl-results h2{font-size:48px}.hl-result-mark{opacity:.22}.hl-result-actions{display:grid}.hl-result-actions>*{width:100%}}
@media(max-width:350px){.hl-session-bar>div:first-child{gap:8px}.hl-step{max-width:65px;line-height:1.2}.hl-timeline-card{grid-template-columns:22px 52px minmax(0,1fr) 32px}.hl-timeline-title strong{font-size:15px}.hl-reorder button{min-height:30px}.hl-cover{height:165px}}
@media(prefers-reduced-motion:reduce){.history-lab *, .history-lab *:before,.history-lab *:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.hl-cover-label{position:absolute;z-index:1;bottom:10px;left:12px;background:#1b2720d9;color:#fff;padding:4px 7px;font:10px/1.2 var(--mono,monospace);letter-spacing:.02em}
.hl-timeline-visual{position:relative}
.hl-timeline-visual .hl-cover-label{font-size:8px;bottom:2px;left:2px;padding:2px 3px;max-width:calc(100% - 4px);line-height:1.1}
.hl-prompt h2,.hl-feedback,.hl-results h2{scroll-margin-top:100px}
.hl-timeline-art-note{display:block;font:8px/1.35 var(--mono,monospace);color:#6e7668;margin-top:5px}.hl-timeline-title small{margin-top:5px}
.hl-cover-type{width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:8px;padding:18px;background:linear-gradient(145deg,#302d2b,#6e4237);color:#f2e8d9}.hl-cover-type span{font:10px var(--mono,monospace);letter-spacing:.12em;text-transform:uppercase}.hl-cover-type b{font:clamp(24px,3vw,42px)/.95 Georgia,serif;letter-spacing:-.04em}.hl-timeline-visual .hl-cover-type{padding:7px}.hl-timeline-visual .hl-cover-type span{font-size:6px}.hl-timeline-visual .hl-cover-type b{font-size:clamp(11px,1.5vw,16px);line-height:1}
.hl-timeline-card:not(.is-locked){cursor:grab;touch-action:none;user-select:none}.hl-timeline-card.is-dragging{opacity:.58;cursor:grabbing;border-color:var(--hl-red);box-shadow:0 8px 24px #302d2b33}.hl-timeline-card.is-drop-before{box-shadow:0 -5px 0 var(--hl-red)}.hl-timeline-card.is-drop-after{box-shadow:0 5px 0 var(--hl-red)}.hl-timeline-card:focus-visible{outline:3px solid var(--hl-red);outline-offset:3px}
@media(max-width:900px){.hl-art-word{font-size:clamp(70px,14vw,120px);margin-top:35px;top:auto;left:auto}.hl-art-axis{bottom:65px}.hl-art-rule{top:25%}}
@media(max-width:620px){.hl-hero-art{min-height:250px;padding:22px}.hl-art-word{font-size:75px;margin-top:21px;flex-direction:row;align-items:baseline;gap:15px}.hl-art-word i{font-size:8px;margin:0}.hl-art-word span:last-child{align-self:auto}.hl-art-rule{top:45px;left:22px;right:22px}.hl-art-axis{left:22px;right:22px;bottom:62px}.hl-art-footer{left:22px;right:22px;bottom:20px}.hl-timeline-visual .hl-cover-type b{font-size:11px}}
@media(max-width:400px){.hl-art-word{font-size:60px;gap:8px}}

/* A source-labelled image reveal introduces the chronology games. */
.hl-time-window{min-width:0;background:#252526;color:#f0e7d9;border-left:1px solid #6b6257;align-self:stretch;display:flex;flex-direction:column}
.hl-time-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 24px;font:9px var(--mono,monospace);letter-spacing:1.2px}
.hl-time-top button{background:transparent;color:#ddad94;border:0;font:10px var(--mono,monospace);padding:8px 0;min-height:36px;cursor:pointer}.hl-time-top button:hover{color:#fff3e2}
.hl-time-stage{position:relative;isolation:isolate;flex:1;min-height:350px;overflow:hidden;cursor:ew-resize;touch-action:pan-y;background:#383733}
.hl-time-stage img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;pointer-events:none;user-select:none;filter:none}
.hl-past-layer{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--past-reveal)) 0 0);z-index:1}
.hl-time-shade{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(#0c0d0e3d,transparent 40%,#0c0d0e9c)}
.hl-time-word{position:absolute;top:23px;z-index:3;font:400 clamp(43px,4.7vw,72px)/1 Georgia,serif;letter-spacing:-2px;text-shadow:0 3px 20px #1119;pointer-events:none}
.hl-time-then{left:24px}.hl-time-now{right:24px;color:#f0be9f}
.hl-split-line{position:absolute;top:0;bottom:0;left:var(--past-reveal);width:1px;background:#ffe5c7cc;z-index:4;pointer-events:none;box-shadow:0 0 20px #1118}
.hl-split-line>span{position:absolute;top:55%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:44px;height:44px;border:1px solid #f3d2b4;border-radius:50%;color:#f9ead6;background:#1b1c1de0;font:22px Georgia,serif;box-shadow:0 3px 12px #0005}
.hl-time-instruction{position:absolute;bottom:20px;left:24px;right:24px;z-index:3;font:8px var(--mono,monospace);letter-spacing:1.4px;color:#ece0d0;pointer-events:none}
.hl-reveal-control{display:flex;align-items:center;gap:14px;margin:0;padding:13px 24px;color:#bdb4a7;font:9px var(--mono,monospace);text-transform:none;letter-spacing:0}
.hl-reveal-control input{flex:1;min-width:0;accent-color:#ce8062;margin:0;min-height:24px;cursor:ew-resize}
.hl-time-records{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:0 24px 16px}.hl-time-records a{color:#e3d8c7;text-decoration:none;min-width:0;border-top:1px solid #81715d66;padding-top:12px}.hl-time-records a:hover strong{color:#edac85}.hl-time-records small{display:block;font:8px var(--mono,monospace);letter-spacing:1px;color:#bd9780;margin-bottom:7px}.hl-time-records strong{display:block;font:400 20px/1.15 Georgia,serif;letter-spacing:-.4px;margin-bottom:7px}.hl-time-records span{display:block;font:9px/1.5 var(--mono,monospace);color:#bab0a2}
.hl-time-context{padding:0 24px 18px;font:10px/1.65 var(--sans,Arial,sans-serif);color:#c4b9a8}.hl-time-context summary{cursor:pointer;font:9px var(--mono,monospace);padding:4px 0}.hl-time-context p{margin:12px 0 0}.hl-time-context b{font-weight:500;color:#efdfc6}.hl-time-context a{color:#e6aa86;text-underline-offset:3px}
@media(max-width:900px){.hl-time-window{border-left:0;border-top:1px solid #6b6257}.hl-time-stage{min-height:360px}.hl-time-word{font-size:72px}}
@media(max-width:620px){.hl-time-top{padding:13px 20px;letter-spacing:.6px;font-size:8px}.hl-time-top button{font-size:9px}.hl-time-stage{min-height:300px}.hl-time-word{font-size:57px;top:20px}.hl-time-then{left:20px}.hl-time-now{right:20px}.hl-time-instruction{left:20px;font-size:7px}.hl-time-records{gap:14px;padding-inline:20px}.hl-time-records strong{font-size:20px}.hl-reveal-control{padding-inline:20px;gap:10px;font-size:8px}.hl-time-context{padding-inline:20px}}

.hl-time-kind{position:absolute;top:98px;z-index:3;max-width:44%;background:#1b1c1ddd;color:#e3dacb;padding:5px 7px;font:8px/1.3 var(--mono);pointer-events:none}.hl-kind-past{left:24px}.hl-kind-now{right:24px}.hl-time-top button{min-height:44px}
@media(max-width:620px){.hl-time-kind{top:86px;font-size:7px}.hl-kind-past{left:20px}.hl-kind-now{right:20px}}
