:root{color-scheme:light;--ink:#172b44;--blue:#184cb8;--paper:#f4f7fc;--line:#cdd8e9;--muted:#53657b;--ready:#116b61;--cure:#783fa5;--work:#b34813}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}header,main,footer{max-width:1360px;margin:auto;padding:22px 32px}header{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);font-size:14px}header span{letter-spacing:.09em;font-size:12px;font-weight:700}a{color:var(--blue)}h1{font-size:clamp(28px,3vw,43px);line-height:1.14;letter-spacing:-.035em;margin:10px 0 12px}h2{font-size:23px;line-height:1.25;margin:0 0 12px}h3{font-size:18px;margin:18px 0 8px}.lead{max-width:940px;color:var(--muted);margin:0 0 24px;font-size:18px}p{margin:0 0 14px}.settings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;background:#fff;border:1px solid var(--line);padding:20px;border-radius:8px}label{display:flex;flex-direction:column;gap:5px;font-size:14px;font-weight:600}select,button{font:inherit;min-height:43px;border:1px solid #a8b9d1;border-radius:5px;padding:8px 12px;background:white;color:var(--ink);max-width:100%}button{background:var(--blue);color:white;border-color:var(--blue);cursor:pointer;font-size:14px;font-weight:650}button.secondary{background:white;color:var(--blue)}button:disabled{opacity:.45;cursor:not-allowed}:focus-visible{outline:3px solid #e27119;outline-offset:3px}.form-actions{display:flex;gap:8px;align-items:end}.status{margin:14px 0 3px;font-weight:650;min-height:25px}.fine{font-size:13px;color:var(--muted)}.headline{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);margin:23px 0}.headline>div{padding:15px 20px;border-right:1px solid var(--line)}.headline>div:first-child{padding-left:0}.headline>div:last-child{border:0}.headline strong{display:block;font-size:30px;font-variant-numeric:tabular-nums;letter-spacing:-.035em}.headline span{font-size:14px;color:var(--muted)}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);overflow:auto;padding-bottom:10px;margin-bottom:26px}.tabs button{white-space:nowrap;background:transparent;color:var(--muted);border-color:transparent}.tabs button[aria-current="page"]{background:var(--ink);color:#fff}.panel[hidden]{display:none}.two-col{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:30px}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:14px 0}.toolbar>label{flex:1;min-width:175px}aside{border-left:1px solid var(--line);padding-left:25px}.rings{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 12px}.ring{background:#e8effa;border:1px solid #b9cbe5;padding:12px;border-radius:6px;min-width:0}.ring h3{margin:0 0 9px}.course{margin:10px 0}.bricks{display:grid;gap:5px}.brick{display:grid;place-items:center;min-height:48px;border:2px solid #a8b9d1;border-radius:3px;background:#fff;color:#5b6b7c;font-size:14px;font-weight:600}.brick.done{background:#b9e2d9;border-color:var(--ready);color:#07574e}.brick.cool{background:#e2cdef;border-color:var(--cure);color:#51256f}.brick.busy{background:#f7d9b8;border:2px dashed var(--work);color:#82340d}.meta{display:flex;justify-content:space-between;gap:5px;font-size:12px}.reservation{font-size:13px}.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--muted)}.working{color:var(--work)}.curing{color:var(--cure)}.complete{color:var(--ready)}.action-caption,.thesis{background:#e7eefb;border-left:4px solid var(--blue);padding:14px 18px}input[type=range]{width:100%;accent-color:var(--blue);min-height:30px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}th{font-weight:650;background:#e9eff8}th,td{border-bottom:1px solid var(--line);padding:10px 12px;vertical-align:top}.path-table{max-height:415px}.path-table tr.current{background:#dce8ff}.path-table td:first-child{width:60px}.path-table button{min-height:30px;padding:2px 8px;font-size:13px}.chain{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.chain article{background:#fff;padding:18px;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:4px}.chain h3{margin-top:0}.chain p{font-size:15px}.steps{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.step{padding:10px 15px;border:1px solid var(--line);background:white}.step strong{font-size:23px;display:block}.step span{font-size:12px}.witness-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.witness-card{padding:15px;border:1px solid #bfcde1;background:#fff}.witness-card .rings{margin:0}.witness-card .ring{padding:9px}.witness-card .brick{min-height:34px;font-size:12px}.witness-card h3{margin-top:0}.bad{color:#982f30}.good{color:var(--ready)}details{border-top:1px solid var(--line);padding:14px 0;margin:16px 0}summary{cursor:pointer;font-weight:650;margin-bottom:10px}pre{font:14px/1.7 ui-monospace,monospace;white-space:pre-wrap;background:#162b46;color:#e5efff;padding:20px;border-radius:5px;overflow-wrap:anywhere}li{margin-bottom:8px}footer{font-size:13px;border-top:1px solid var(--line);margin-top:40px;color:var(--muted)}.skip{position:absolute;top:-80px;left:15px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}.note{padding:13px 16px;background:white;border:1px solid var(--line)}@media(max-width:900px){.settings{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}aside{border:0;padding:0}.chain,.witness-grid{grid-template-columns:1fr}.headline strong{font-size:25px}}@media(max-width:540px){header,main,footer{padding:17px}header{flex-direction:column;gap:6px}.settings{padding:13px;gap:10px}.headline{grid-template-columns:1fr 1fr}.headline>div{padding:12px!important;border:0}.headline strong{font-size:25px}.rings{gap:8px}.ring{padding:8px}.brick{min-height:38px}.form-actions{flex-wrap:wrap}.tabs{margin-right:-17px}.lead{font-size:16px}.toolbar button{flex:1}.meta{flex-direction:column;gap:0}.witness-card .rings{grid-template-columns:1fr}.fine{font-size:12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
.wiring{border:1px solid var(--line);border-radius:12px;padding:18px;background:#f5f7fa;text-align:center;margin:20px 0}.wire-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.wire-row span,.wire-centre{border:1px solid #78909c;padding:14px 8px;background:white;border-radius:6px}.wire-centre{max-width:560px;margin:auto}.wiring p{margin:12px 0}.wire-row small{font-size:.8rem;color:#465864}@media(max-width:500px){.wire-row{gap:5px}.wire-row span{padding:10px 3px;font-size:.8rem}}
.site-mode #settings,.site-mode #status,.site-mode #receipt,.site-mode .headline,.site-mode .lead{display:none}.site-mode main>h1{font-size:1.65rem;margin:22px 0}.site-mode .tabs{margin-top:12px}.site-intro{display:flex;justify-content:space-between;gap:18px}.site-intro h2{font-size:clamp(1.65rem,3.2vw,2.35rem);margin:3px 0 8px}.site-intro p{margin:5px 0 14px}.site-eyebrow{font-size:.78rem;font-weight:750;letter-spacing:.13em;color:#56694f}.site-figure{margin:0;background:#e1e8dd;border-radius:12px;overflow:hidden;border:1px solid #bac9b8}.site-art{background:#a9bdc1;aspect-ratio:3/2;max-height:660px}.site-art svg{display:block;width:100%;height:100%}.site-badges{display:flex;gap:10px;justify-content:space-between;padding:13px 18px;background:#f3f6ef;font-size:.95rem;font-weight:650;flex-wrap:wrap}.site-badges span{padding:5px 9px;border:1px solid #ced8c7;border-radius:5px}#site-hoists{color:#73501b}#site-caption{padding:0 26px 15px;font-size:.9rem;color:#485b49}.site-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:17px 0}.site-controls label{flex:1;min-width:170px}.site-controls input{width:100%}.site-key{display:flex;gap:16px;flex-wrap:wrap;font-size:.9rem}.site-key span:nth-child(2){color:#8c5a08}.site-key span:nth-child(3){color:#7844a9}.site-key span:nth-child(4){color:#945333}.site-mode footer{margin-top:25px}@media(max-width:600px){.site-mode main>h1{font-size:1.25rem}.site-art{max-height:none}.site-badges{padding:10px;gap:6px}.site-badges span{font-size:.83rem}.site-controls{gap:8px}.site-controls label{order:4;flex-basis:100%}.site-controls button{flex:1;font-size:.85rem}#site-caption{padding:0 15px 12px}.site-key{gap:10px}.site-mode .fine{font-size:.82rem}}
.site-art{position:relative;width:100%;height:clamp(250px,52vw,660px);aspect-ratio:auto;max-height:none;overflow:hidden}.site-art svg{position:absolute;inset:0;width:100%;height:100%}
