:root{--paper:#efe6d2;--paper2:#e7dcc4;--ink:#2b2622;--ink2:#5a5148;--red:#b5553c;--gold:#b8923a;--water:#9dbcc4;--caps:"IM Fell English SC", Georgia, serif;--fell:"IM Fell English", Georgia, serif;--body:"EB Garamond", Georgia, serif;--script:"Pinyon Script", cursive;--ease:cubic-bezier(.16, .84, .24, 1);--grain:none}*{box-sizing:border-box}html,body{background:var(--paper);height:100%;color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;overflow:hidden}#gl{cursor:grab;width:100vw;height:100vh;display:block;position:fixed;inset:0}#gl:active{cursor:grabbing}#gl.pick{cursor:pointer}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.hidden{opacity:0;pointer-events:none}#ui{pointer-events:none;transition:opacity 1.4s var(--ease);position:fixed;inset:0}#ui>*{pointer-events:auto}.sheetlike,#index,#story,#lesson,#titleblock,#timebar .tm-card,#timebar .tm-archive,.modal .sheet{background:var(--paper) var(--grain);color:var(--ink);box-shadow:0 0 0 1px #2b2622c7, 0 0 0 4px var(--paper), 0 0 0 5px #2b26226b, 0 18px 50px #14100a61}#titleblock{text-align:center;width:316px;transition:transform .9s var(--ease), opacity .6s;padding:12px 18px 13px;position:absolute;top:28px;left:30px}#titleblock.away{opacity:0;pointer-events:none;transform:translate(-390px)}#titleblock .tb-over{font-family:var(--script);color:var(--ink2);font-size:25px;line-height:.8}#titleblock h1{font:400 31px/1.05 var(--caps);letter-spacing:.09em;margin:0}#titleblock .tb-rule{align-items:center;gap:9px;margin:3px 0 1px;display:flex}#titleblock .tb-rule span{background:var(--ink);opacity:.55;flex:1;height:1px}#titleblock .tb-rule i{font:italic 17px var(--fell);color:var(--red)}#titleblock .tb-sub{font:italic 14.5px var(--fell);color:var(--ink2)}#modes{background:var(--paper) var(--grain);box-shadow:0 0 0 1px #2b2622c7, 0 0 0 4px var(--paper), 0 0 0 5px #2b26226b, 0 14px 40px #14100a59;gap:0;display:flex;position:absolute;top:30px;left:50%;transform:translate(-50%)}#modes button{font:400 16.5px var(--caps);letter-spacing:.1em;color:var(--ink2);padding:11px 26px 10px;transition:color .3s;position:relative}#modes button+button{border-left:1px solid #2b26224d}#modes button.on{color:var(--ink)}#modes button:after{content:"";background:var(--red);transform-origin:0;height:2px;transition:transform .6s var(--ease);position:absolute;bottom:6px;left:26px;right:26px;transform:scaleX(0)}#modes button.on:after{transform:scaleX(1)}#modes button:hover{color:var(--ink)}#index{width:316px;transition:transform .9s var(--ease), opacity .6s;flex-direction:column;display:flex;position:absolute;top:168px;bottom:30px;left:30px}#index.away{opacity:0;pointer-events:none;transform:translate(-390px)}.idx-head{font:400 15px var(--caps);letter-spacing:.14em;border-bottom:1px solid #2b262259;justify-content:space-between;align-items:baseline;padding:10px 16px 7px;display:flex}.idx-head em{font:italic 13.5px var(--fell);color:var(--ink2);letter-spacing:0}.idx-body{flex:1;min-height:0;display:flex}.mm{border-right:1px solid #2b262240;flex:none;width:150px;position:relative}#minimap{cursor:pointer;border-right:1px solid #2b262240;width:100%;height:100%;position:absolute;inset:0}#placelist{scrollbar-width:thin;scrollbar-color:#2b262259 transparent;flex:1;margin:0;padding:6px 0 10px;list-style:none;overflow-y:auto}#placelist li{cursor:pointer;color:var(--ink);transition:background .25s, padding .35s var(--ease);padding:4.5px 12px 4.5px 13px;font-size:15.5px;line-height:1.18;position:relative}#placelist li small{font:italic 12.5px var(--fell);color:var(--ink2);opacity:.85;display:block}#placelist li:hover,#placelist li.hover{background:#b5553c17;padding-left:17px}#placelist li.on{background:#b5553c29;padding-left:19px}#placelist li.on:before{content:"";background:var(--red);border-radius:50%;width:6px;height:6px;position:absolute;top:11px;left:7px}#placelist li.sep{font:400 12px var(--caps);letter-spacing:.16em;color:var(--ink2);cursor:default;background:0 0;border-top:1px solid #2b26222e;margin-top:6px;padding:11px 13px 3px}#placelist li.sep:first-child{border-top:0;margin-top:0}#story,#lesson{scrollbar-width:thin;width:470px;max-height:calc(100vh - 200px);transition:transform 1s var(--ease), opacity .5s;transform-origin:100% 0;padding:20px 24px 16px;position:absolute;top:96px;right:30px;overflow-y:auto}#story.closed,#lesson.closed{opacity:0;pointer-events:none;transform:translate(540px)rotate(1.2deg)}.x{font:26px/1 var(--fell);color:var(--ink2);width:30px;height:30px;position:absolute;top:5px;right:9px}.x:hover{color:var(--red)}.st-kicker{font:400 13px var(--caps);letter-spacing:.15em;color:var(--red);padding-right:30px}#story h2,#lesson h2{font:400 37px/1.02 var(--fell);letter-spacing:.005em;margin:2px 0 0}.st-hook{font:italic 21px/1.22 var(--fell);color:var(--ink2);margin:5px 0 12px}.st-fig{margin:0 -8px 12px;position:relative}.st-fig canvas{aspect-ratio:16/9;background:#efe6d2;width:100%;display:block;box-shadow:inset 0 0 0 1px #2b262252,inset 0 0 40px #78643c24}.st-fig figcaption{font:italic 12.5px var(--fell);color:var(--ink2);text-align:right;padding:3px 2px 0}.st-what{margin:0 0 6px;font-size:18px;line-height:1.32}.st-why{color:var(--ink2);margin:0 0 12px;font-size:17px;font-style:italic;line-height:1.34}.st-facts{counter-reset:f;border-top:1px solid #2b26224d;margin:0;padding:0;list-style:none}.st-facts li{counter-increment:f;opacity:0;transition:opacity .7s var(--ease), transform .9s var(--ease);border-bottom:1px solid #2b262229;padding:9px 0 9px 34px;font-size:17px;line-height:1.3;position:relative;transform:translateY(8px)}.st-facts li.in{opacity:1;transform:none}.st-facts li:before{content:counter(f, upper-roman);text-align:right;width:24px;font:400 13px var(--caps);color:var(--red);letter-spacing:.05em;position:absolute;top:10px;left:0}sup.s{font:400 10.5px var(--caps);color:var(--red);cursor:pointer;letter-spacing:.03em;vertical-align:6px;margin-left:2px;line-height:0}sup.s:hover{text-decoration:underline}.st-nav{font:400 13px var(--caps);letter-spacing:.1em;color:var(--ink2);justify-content:space-between;margin-top:11px;display:flex}.st-nav button:hover{color:var(--red)}.ls-tabs{border-bottom:1px solid #2b262259;gap:0;margin:-4px -8px 12px;display:flex}.ls-tabs button{font:400 13.5px var(--caps);letter-spacing:.1em;color:var(--ink2);border-bottom:2px solid #0000;flex:1;margin-bottom:-1px;padding:6px 4px 8px;transition:color .3s,border-color .4s}.ls-tabs button.on{color:var(--ink);border-bottom-color:var(--red)}.ls-lede{font:italic 18.5px/1.3 var(--fell);color:var(--ink2);margin:6px 0 12px}.ls-steps{counter-reset:s;margin:0;padding:0;list-style:none}.ls-steps li{counter-increment:s;cursor:pointer;border-top:1px solid #2b26222e;padding:8px 6px 8px 40px;transition:background .3s;position:relative}.ls-steps li:before{content:counter(s);border:1px solid var(--ink2);width:22px;height:22px;font:400 13px/21px var(--caps);text-align:center;color:var(--ink2);transition:all .4s var(--ease);border-radius:50%;position:absolute;top:9px;left:6px}.ls-steps li.on{background:#b5553c14}.ls-steps li.on:before{background:var(--red);border-color:var(--red);color:var(--paper)}.ls-steps li b{font:400 16px var(--caps);letter-spacing:.08em;display:block}.ls-steps li p{opacity:0;max-height:0;transition:max-height .8s var(--ease), opacity .6s;margin:2px 0 0;font-size:16.5px;line-height:1.3;overflow:hidden}.ls-steps li.on p{opacity:1;max-height:190px}.ls-steps li .stat{margin:4px 0 2px;display:none}.ls-steps li.on .stat{align-items:baseline;gap:10px;display:flex}.ls-steps li .stat i{font:400 46px/1 var(--fell);color:var(--red);letter-spacing:-.01em;font-style:normal}.ls-steps li .stat span{font:italic 16px var(--fell);color:var(--ink2)}.ls-legend{font:400 12.5px var(--caps);letter-spacing:.1em;color:var(--ink2);flex-wrap:wrap;gap:6px 16px;margin-top:10px;display:flex}.ls-legend span{cursor:pointer;opacity:.45;align-items:center;gap:6px;transition:opacity .3s;display:flex}.ls-legend span.on{opacity:1}.ls-legend i{border-radius:3px;width:22px;height:5px;display:inline-block}#timebar{pointer-events:none;transition:opacity .7s;position:absolute;inset:96px 30px 24px}#timebar.closed{opacity:0}#timebar.closed *{pointer-events:none!important}#timebar>*{pointer-events:auto;position:absolute}.tm-archive{width:min(1500px,100vw - 420px);transition:transform 1s var(--ease), opacity .6s;padding:9px 11px 7px;top:0;left:50%;transform:translate(-50%)}#timebar.closed .tm-archive{opacity:0;transform:translate(-50%,-30px)}.tm-plan{cursor:crosshair;background:#e9dfc8;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #2b262266}.tm-plan img{aspect-ratio:4111/838;object-fit:fill;mix-blend-mode:multiply;width:100%;transition:opacity .6s;display:block}.tm-plan.short img{width:92.157%}.tm-cross{border:1.5px solid var(--red);pointer-events:none;opacity:0;border-radius:50%;width:18px;height:18px;margin:-9px 0 0 -9px;transition:opacity .2s;position:absolute}.tm-cross:after{content:"";background:var(--red);border-radius:50%;width:3px;height:3px;margin:-1.5px;position:absolute;top:50%;left:50%}.tm-tabs{font:400 12.5px var(--caps);letter-spacing:.1em;align-items:center;gap:0;padding:7px 0 0;display:flex}.tm-tabs em{font:italic 13.5px var(--fell);letter-spacing:0;color:var(--ink2);margin-right:12px}.tm-tabs button{color:var(--ink2);border:1px solid #2b262259;margin-right:-1px;padding:4px 13px 3px;transition:background .3s,color .3s}.tm-tabs button.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.tm-tabs button:not(.on):hover{color:var(--red)}.tm-tabs i{font:italic 13.5px var(--fell);letter-spacing:0;color:var(--red);opacity:0;margin-left:14px;transition:opacity .4s}.tm-tabs i.on{opacity:1}.tm-capt{align-items:baseline;gap:12px;padding:6px 2px 0;font-size:15px;display:flex}.tm-capt b{font:400 14px var(--caps);letter-spacing:.12em;color:var(--red);white-space:nowrap}.tm-capt span{font:italic 14.5px var(--fell);color:var(--ink2);flex:1}.tm-drape{font:400 12.5px var(--caps);letter-spacing:.1em;cursor:pointer;white-space:nowrap;align-items:center;gap:6px;display:flex}.tm-drape input{accent-color:var(--red)}.tm-card{width:520px;transition:transform .9s var(--ease);align-items:flex-start;gap:16px;padding:12px 18px;display:flex;bottom:78px;left:0}#timebar.closed .tm-card{transform:translateY(40px)}.tm-year{font:400 62px/.9 var(--fell);color:var(--red);letter-spacing:-.01em;font-variant-numeric:lining-nums;min-width:136px}.tm-label{font:400 12.5px var(--caps);letter-spacing:.14em;color:var(--ink2)}.tm-ev h3{font:400 23px/1.08 var(--fell);margin:1px 0 2px}.tm-ev p{margin:0;font-size:16px;line-height:1.28}.tm-scrub{background:var(--paper) var(--grain);height:62px;box-shadow:0 0 0 1px #2b2622c7, 0 0 0 4px var(--paper), 0 0 0 5px #2b26226b, 0 14px 40px #14100a59;align-items:center;gap:14px;padding:0 18px;display:flex;bottom:0;left:0;right:0}#tm-play{border:1px solid var(--ink);border-radius:50%;width:34px;height:34px;padding-left:2px;font-size:13px}#tm-play:hover{background:var(--red);color:var(--paper);border-color:var(--red)}.tm-track{cursor:ew-resize;touch-action:none;flex:1;height:100%;position:relative}.tm-track:before{content:"";background:var(--ink);height:1px;position:absolute;top:30px;left:0;right:0}.tm-eras span{font:400 11px var(--caps);letter-spacing:.14em;color:var(--ink2);white-space:nowrap;position:absolute;top:6px}.tm-ticks i{background:var(--ink);opacity:.7;width:1px;height:12px;position:absolute;top:24px}.tm-ticks i.ev{background:var(--red);opacity:.85;cursor:pointer;width:2px;height:20px;margin-left:-1px;top:20px}.tm-ticks i.ev:hover{height:26px;top:17px}.tm-ticks b{font:400 12px var(--caps);letter-spacing:.06em;color:var(--ink2);position:absolute;top:41px;transform:translate(-50%)}.tm-handle{pointer-events:none;width:0;height:44px;position:absolute;top:9px}.tm-handle i{background:var(--paper);border:2px solid var(--red);border-radius:50%;width:18px;height:18px;position:absolute;top:12px;left:-9px;box-shadow:0 2px 6px #0000004d}.tm-handle:before{content:"";background:var(--red);width:1px;position:absolute;top:0;bottom:0;left:-.5px}#dock{pointer-events:none;transition:transform .9s var(--ease), opacity .5s;align-items:center;gap:14px;display:flex;position:absolute;bottom:26px;left:366px;right:30px}#dock.away{opacity:0;transform:translateY(90px)}.dk-group{pointer-events:auto;background:var(--paper) var(--grain);height:40px;box-shadow:0 0 0 1px #2b2622c7, 0 0 0 4px var(--paper), 0 0 0 5px #2b26226b, 0 12px 30px #14100a52;align-items:center;display:flex}.dk-group button{font:400 14px var(--caps);letter-spacing:.12em;height:100%;color:var(--ink2);padding:0 16px;transition:color .3s,background .3s;position:relative}.dk-group button+button{border-left:1px solid #2b262240}.dk-group button.on{color:var(--paper);background:var(--ink)}.dk-group button:not(.on):hover{color:var(--red)}.dk-time{font:400 14px var(--caps);letter-spacing:.08em;gap:10px;padding:0 14px}.dk-time .dk-ico{color:var(--gold);font-size:19px}#dk-clock{text-align:right;min-width:66px}.dk-right{margin-left:auto}input[type=range]{appearance:none;cursor:pointer;background:0 0;width:210px;height:20px}input[type=range]::-webkit-slider-runnable-track{background:var(--ink);height:1px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--paper);border:2px solid var(--red);border-radius:50%;width:14px;height:14px;margin-top:-7px}#hint{font:italic 15px var(--fell);color:#f6efdf;text-shadow:0 1px 8px #000000bf;opacity:0;white-space:nowrap;transition:opacity 1.2s;position:absolute;bottom:80px;left:50%;transform:translate(-50%);pointer-events:none!important}#hint.show{opacity:.95}#scale-note{font:italic 12.5px var(--fell);color:#f6efdfcc;text-shadow:0 1px 6px #000000b3;position:absolute;bottom:76px;right:34px;pointer-events:none!important}#labels{pointer-events:none;transition:opacity 1.4s var(--ease);position:fixed;inset:0;overflow:hidden}#labels.hidden *{pointer-events:none!important}.lb{will-change:transform, opacity;pointer-events:auto;cursor:pointer;white-space:nowrap;transform-origin:0 0;font:400 14.5px var(--caps);letter-spacing:.11em;color:#fdf8ec;text-shadow:0 0 2px #0a0804,0 1px 3px #0a0804f2,0 0 7px #0a0804e6,0 0 14px #0a0804b3,0 0 26px #0a080480;transition:opacity .5s,color .3s;position:absolute;top:0;left:0}.lb:before{content:"";width:7px;height:7px;transition:transform .4s var(--ease);background:#b5553ce6;border:1.5px solid #fbf6e9;border-radius:50%;position:absolute;top:-4.5px;left:-4.5px;box-shadow:0 0 6px #0009}.lb span{padding:1px 0;position:absolute;top:-22px;left:9px}.lb span:after{content:"";height:1px;transition:right .5s var(--ease);background:#fbf6e9;position:absolute;bottom:-1px;left:0;right:100%}.lb:hover span:after,.lb.on span:after{right:0}.lb:hover:before,.lb.on:before{transform:scale(1.5)}.lb.on{color:#ffd9c2}.lb.minor{opacity:.9;font-size:12.5px}.lb.eye{font-family:var(--fell);letter-spacing:.02em;font-size:15px;font-style:italic}#overlay{pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}.modal{z-index:30;background:#1c160e80;place-items:center;transition:opacity .5s;display:grid;position:fixed;inset:0}.modal.closed{opacity:0;pointer-events:none}.modal .sheet{width:min(1040px,92vw);max-height:86vh;transition:transform .8s var(--ease);padding:26px 34px;position:relative;overflow-y:auto}.modal.closed .sheet{transform:translateY(30px)rotate(-.6deg)}.modal .sheet.small{width:560px}.modal h2{font:400 34px var(--fell);margin:0 0 4px}.src-note{font:italic 16px var(--fell);color:var(--ink2);margin:0 0 14px}#src-list{columns:2;column-gap:34px;margin:0;padding:0;font-size:14.5px;line-height:1.28;list-style:none}#src-list li{break-inside:avoid;padding:4px 0 4px 44px;position:relative}#src-list li b{text-align:right;width:36px;font:400 12px var(--caps);color:var(--red);letter-spacing:.04em;position:absolute;top:4px;left:0}#src-list li.flash{background:#b5553c29}#src-list a{color:var(--ink);text-underline-offset:2px;text-decoration-color:#2b262259}#src-list a:hover{color:var(--red)}#src-list em{color:var(--ink2)}#src-data{color:var(--ink2);border-top:1px solid #2b26224d;margin-top:16px;padding-top:12px;font-size:14.5px;line-height:1.35}#src-data b{font:400 12.5px var(--caps);letter-spacing:.12em;color:var(--ink)}.help-list{margin:10px 0 0;padding:0;font-size:17px;line-height:1.3;list-style:none}.help-list li{border-top:1px solid #2b26222e;padding:7px 0}.help-list b{font:400 14px var(--caps);letter-spacing:.1em;color:var(--red)}#intro{z-index:40;transition:opacity 1.6s var(--ease);place-items:center;display:grid;position:fixed;inset:0}#intro.done{opacity:0;pointer-events:none}.in-paper{background:var(--paper) var(--grain);position:absolute;inset:0;box-shadow:inset 0 0 240px #785f3247}#film{object-fit:contain;background:var(--paper);opacity:0;width:100%;height:100%;transition:opacity 1.2s;position:absolute;inset:0}#intro.playing #film{opacity:1}.in-title{text-align:center;transition:opacity .9s, transform 1.2s var(--ease);position:relative}#intro.playing .in-title{opacity:0;pointer-events:none;transform:translateY(-14px)}.in-over{font:400 16px var(--caps);letter-spacing:.32em;color:var(--ink2)}.in-name{font:400 150px/1.05 var(--script);color:var(--ink);margin:2px 0 0}.in-sub{font:italic 25px var(--fell);color:var(--ink2);margin-top:-6px}.in-load{background:#2b262240;width:260px;height:1px;margin:34px auto 0;transition:opacity .6s;position:relative}.in-load i{background:var(--red);height:2px;width:calc(var(--load,0) * 100%);transition:width .4s;position:absolute;top:-.5px;left:0}.in-buttons{justify-content:center;gap:18px;margin-top:26px;display:flex}.in-buttons button{font:400 17px var(--caps);letter-spacing:.16em;background:var(--ink);color:var(--paper);transition:all .4s var(--ease);box-shadow:0 0 0 1px var(--ink), 0 0 0 4px var(--paper), 0 0 0 5px #2b262280;padding:13px 30px 12px}.in-buttons button.ghost{color:var(--ink);background:0 0}.in-buttons button:disabled{opacity:.3;cursor:default}.in-buttons button:not(:disabled):hover{background:var(--red);color:var(--paper);box-shadow:0 0 0 1px var(--red), 0 0 0 4px var(--paper), 0 0 0 5px var(--red)}#in-skipfilm{font:400 14px var(--caps);letter-spacing:.16em;color:var(--ink);background:#efe6d2db;padding:9px 16px;transition:opacity .6s,background .3s;position:absolute;bottom:30px;right:34px;box-shadow:0 0 0 1px #2b262299}#in-skipfilm:hover{background:var(--red);color:var(--paper)}
