:root{font-family:Arial,Helvetica,sans-serif;color:#252b2c;background:#e8e9e6;font-synthesis:none;--accent:#c5392b;--muted:#6b7374}*{box-sizing:border-box}body{margin:0;overflow:hidden}#scene{position:fixed;inset:0}canvas{display:block}header,footer{position:absolute;left:30px;right:30px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px}header{top:25px;border-bottom:1px solid #bdc4c2;padding-bottom:16px}.brand{font-weight:800}.brand i,.edition i{color:var(--accent);font-style:normal;margin:0 12px}.edition{color:var(--muted)}.intro{position:absolute;left:32px;top:95px;width:310px;pointer-events:none}.eyebrow{font-size:9px;letter-spacing:1.6px;font-weight:700;color:var(--muted)}h1{font-size:49px;line-height:1.04;font-weight:500;letter-spacing:-2px;margin:16px 0}h1 em{color:var(--accent);font-style:normal;font-weight:800}p{font-size:12px;line-height:1.65;color:var(--muted)}.rule{width:32px;height:3px;background:var(--accent);margin:23px 0 17px}.left,.right{position:absolute;width:248px}.left{left:32px;top:390px}.right{right:32px;top:95px}.panel{background:#f7f8f5e8;padding:20px;margin-bottom:12px;border:1px solid #ffffffb0;backdrop-filter:blur(10px);box-shadow:0 5px 24px #30433b08}h2{font-size:24px;font-weight:500;margin:12px 0 19px}h2 span{font-size:9px;letter-spacing:1.5px;color:var(--muted);margin-left:12px}dl{font-size:11px;margin:10px 0 16px}dl div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #dce1dd}dt{color:var(--muted)}dd{font-weight:600;font-variant-numeric:tabular-nums;margin:0}.switch,.row{display:flex;gap:5px}.switch button{flex:1;text-align:left}.switch small{display:block;font-size:8px;margin-top:4px;font-weight:400}button,select,input{font:inherit}button{cursor:pointer;border:1px solid #cbd0cd;background:#fafbf9;color:#444e4d;padding:9px 11px;font-size:10px;transition:background .15s}button:hover{background:#e5e9e4}button.active,#play{background:#283b38;border-color:#283b38;color:white}.note{font-size:10px;line-height:1.65;margin-bottom:0}.proof strong{font-size:17px;color:#446953;display:block;margin-top:13px}.proof p{font-size:10px;margin:7px 0 12px}a{font-size:10px;color:#526a62;text-decoration:none}a:hover{text-decoration:underline}.cycle h2{font-size:30px;margin-bottom:8px;color:var(--accent)}select{border:0;background:transparent;color:#2c3431;font-size:11px;padding:5px}.stroke-label{font-size:8px;letter-spacing:1px;color:#929994;margin-bottom:15px}.phase-strip{display:flex;gap:5px}.phase-strip span{font-size:6px;color:#89938d;border-top:3px solid #d8ded8;padding-top:6px;flex:1}.phase-strip span.active{border-color:var(--accent);color:var(--accent)}#chart{width:100%;margin-top:8px}.chart-key{display:flex;justify-content:space-between;font-size:7px;color:#879089}.chart-key span:first-child{color:#3b85ab}.chart-key span:nth-child(2){color:var(--accent)}.views .row{margin-top:10px}.row button{flex:1;padding:8px 4px}.bottom{position:absolute;bottom:58px;left:310px;right:310px}.firing{text-align:center;margin-bottom:24px}.firing>.eyebrow{display:block;margin-bottom:11px}#firing-order{display:flex;justify-content:center;gap:10px;margin-bottom:8px}#firing-order button{border-radius:50%;height:27px;width:27px;padding:0;background:#fafbf9cc;border-color:#b9c5bb}#firing-order button.firing-now{background:#e5b5ac;border-color:#bf5243}#firing-order button.selected{outline:1.5px solid #2c443b;outline-offset:3px}.timeline{display:flex;align-items:center;gap:9px;border-top:1px solid #b9c3bc;padding-top:13px}.timeline button{white-space:nowrap;padding:9px}#angle{flex:1;min-width:70px;accent-color:var(--accent);height:3px}#angle-value{font-size:15px;min-width:55px;font-variant-numeric:tabular-nums}.timeline label{font-size:8px;color:#6f7b73;letter-spacing:1px}.timeline label input{display:block;width:46px;border:0;background:transparent;font-size:11px;padding:5px 0}.timeline label select{display:block;padding:5px 0}footer{bottom:23px;font-size:7px;letter-spacing:1px;color:#6a786f}#loading{position:fixed;inset:0;display:grid;place-items:center;background:#e8e9e6;letter-spacing:1px;font-size:13px}#loading.error{color:var(--accent)}@media(max-height:850px){.intro{top:80px}h1{font-size:39px;margin:12px 0}.intro p{font-size:10px}.rule{margin:15px 0}.left{top:310px}.panel{padding:15px}.proof{padding-top:12px;padding-bottom:12px}.right{top:80px}.bottom{bottom:49px}.firing{margin-bottom:15px}}@media(max-width:1250px){.left,.right{width:218px}.intro{width:240px}.bottom{left:270px;right:270px}.timeline label{display:none}.edition{display:none}}
