:root{--desk:#d9d3c1;--paper:#f3f0e6;--ink:#16367d;--ink2:#3b5bb5;--red:#c2410c;--ok:#15803d;--grid:#16367d1a;--card:#ffffff8c;--hl:#16367d14;--shadow:#3c2d144d;--sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;color-scheme:light}:root[data-theme=dark]{--desk:#091a3a;--paper:#0d2a5c;--ink:#e8f1ff;--ink2:#8fb4ff;--red:#ffb454;--ok:#7ee7a8;--grid:#8fb4ff26;--card:#ffffff0d;--hl:#8fb4ff1f;--shadow:#00000080;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--desk);color:var(--ink);font:14px/1.55 var(--mono);overflow:hidden}a{color:var(--ink)}button{color:inherit;font:inherit}:focus-visible{outline:2px solid var(--red);outline-offset:2px}.skip{z-index:20;background:var(--paper);border:1px solid var(--ink);padding:.4rem .8rem;position:absolute;top:-3rem;left:.5rem}.skip:focus{top:.5rem}.app{grid-template-columns:220px minmax(0,1fr);height:100vh;display:grid}.side{border-right:1px solid var(--ink2);flex-direction:column;gap:14px;padding:20px 16px;display:flex;overflow:auto}.brand{align-items:center;gap:10px;text-decoration:none;display:flex}.brand img{object-fit:contain;flex:none;width:48px;height:48px}.brand b{font:700 22px/1.1 var(--sans);letter-spacing:.02em;text-transform:uppercase;display:block}.brand small{color:var(--ink2);font:500 13px/1.25 var(--mono);display:block}.brand small span{display:block}.side h2{border-bottom:1px solid var(--ink2);color:var(--ink2);letter-spacing:.16em;text-transform:uppercase;margin:4px 0 6px;padding-bottom:3px;font-size:10px}.side ul{margin:0;padding:0;list-style:none}.side nav a{border-left:3px solid #0000;padding:4px 8px;font-size:13px;text-decoration:none;display:block}.side nav a span{color:var(--red);margin-right:8px}.side nav a:hover,.side nav a[aria-current=true],.side nav a[aria-current=page]{border-left-color:var(--red);background:var(--hl)}.side nav a.in{font-weight:600}.side nav .sub{margin:0 0 4px 12px}.side nav .sub a{font-size:12px}.side .foot{border-top:1px solid var(--ink2);gap:10px;margin-top:auto;padding-top:10px;display:grid}.side .links{white-space:nowrap;grid-template-columns:repeat(2,max-content);gap:1px 18px;font-size:11px;display:grid}.side .links a{color:var(--ink2);text-decoration:none}.side .links a:hover{color:var(--ink);text-decoration:underline}.icons{grid-template-columns:repeat(4,30px) 1fr;gap:6px;display:grid}.icons a:nth-child(n+5){grid-row:2}.icons .theme{grid-area:2/5;justify-self:end}.icons a,.theme{border:1px solid var(--ink2);width:30px;height:30px;color:var(--ink);cursor:pointer;background:0 0;place-items:center;display:grid}.icons a:hover,.theme:hover{background:var(--hl)}.desk{padding:26px 34px 90px;overflow:auto}.frame{grid-template-rows:22px auto;grid-template-columns:22px minmax(0,1000px);width:fit-content;max-width:100%;margin:0 auto;display:grid}.ruler{color:var(--ink2);display:block;overflow:hidden}.ruler.top{border-bottom:1px solid var(--ink2);grid-column:2;width:100%;height:22px}.ruler.left{border-right:1px solid var(--ink2);grid-row:2;width:22px;height:100%}.page{box-shadow:0 22px 50px -14px var(--shadow), 0 0 0 1px var(--ink2);grid-area:2/2}.sheet{border:2px solid var(--ink);background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:24px 24px;padding:26px 30px 36px;position:relative}.sheet:before{content:"";border:1px solid var(--ink2);pointer-events:none;position:absolute;inset:8px}.sheet-head{border-bottom:2px solid var(--ink);grid-template-columns:1fr auto;align-items:end;gap:20px;padding-bottom:14px;display:grid}h1{font:700 clamp(28px, 5vw, 52px) / 1 var(--sans);letter-spacing:-.02em;text-transform:uppercase;margin:0}h1 small{color:var(--ink2);font:500 12px var(--mono);letter-spacing:.14em;text-transform:none;margin-top:8px;display:block}.rev{color:var(--ink2);text-align:right;font-size:12px}.rev b{color:var(--red)}h2.sec{font:600 15px var(--mono);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:12px;margin:64px 0 16px;display:flex}h2.sec span{color:var(--red)}h2.sec:after{content:"";border-top:1px solid var(--ink2);flex:1}.intro{grid-template-columns:1.3fr 1fr;gap:26px;display:grid}.intro p{margin:0 0 10px}.intro strong{background:var(--hl);padding:0 4px}.fig{border:1px solid var(--ink);background:var(--card);margin:0;padding:10px}.fig svg{width:100%;height:150px;display:block}.fig figcaption{color:var(--ink2);margin-top:6px;font-size:11px}.tag{border:1px solid var(--ink2);border-radius:2px;margin:0 4px 2px 0;padding:0 6px;font-size:11px;display:inline-block}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{border:1px solid var(--ink2);text-align:left;vertical-align:top;padding:5px 9px}th{background:var(--hl);letter-spacing:.08em;text-transform:uppercase;font-size:11px}td a{font-weight:600}tbody tr:hover td{background:var(--hl)}tbody tr[hidden]{display:none}.st{color:var(--ok);text-transform:uppercase;font-size:12px;font-weight:600}.st.early,.st.preview,.st.dev{color:var(--red)}.st.archived{opacity:.6}.gates{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0 40px;margin:0;padding:0;list-style:none;display:grid}.gates li{border-bottom:1px dashed var(--ink2);padding:10px 0 12px 26px;position:relative}.gates li:before{content:"";border:1.5px solid var(--ok);width:8px;height:8px;position:absolute;top:17px;left:6px;transform:rotate(45deg)}.gates b{margin-bottom:2px;display:block}.gates span{color:var(--ink2);font-size:13px;line-height:1.5}.note{border:1px dashed var(--red);grid-template-columns:auto 1fr;align-items:center;gap:16px;margin-top:10px;padding:12px 14px;display:grid}.note b{color:var(--red)}.note small{color:var(--ink2);display:block}.title-block{border:2px solid var(--ink);background:var(--paper);grid-template-columns:repeat(3,auto);width:max-content;margin:28px 0 0 auto;font-size:11px;display:grid}.title-block div{border:1px solid var(--ink2);padding:4px 10px}.title-block small{color:var(--ink2);letter-spacing:.1em;text-transform:uppercase;font-size:9px;display:block}.notfound p{max-width:46ch}.lead{color:var(--ink2);margin:0 0 12px}.cards{grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:12px;display:grid}.card{border:1px solid var(--ink);background:var(--card);flex-direction:column;gap:8px;padding:12px 14px;text-decoration:none;display:flex}.card:hover{border-color:var(--red);background:var(--hl)}.card-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.card-top strong{font:700 17px var(--sans)}.card-text{flex:1}.card-more{color:var(--red);font-size:12px}.st.active,.st.stable{color:var(--ok)}.project-row{grid-template-columns:1.6fr 1fr;gap:24px;display:grid}.project-row p{margin:0 0 10px}dl.facts{border:1px solid var(--ink);background:var(--card);grid-template-columns:auto 1fr;align-content:start;gap:4px 14px;margin:0;padding:10px 12px;font-size:13px;display:grid}dl.facts dt{color:var(--ink2)}dl.facts dd{margin:0}.actions{flex-wrap:wrap;gap:8px;display:flex}.btn-link{border:1px solid var(--ink2);border-radius:3px;padding:3px 12px;font-size:13px;text-decoration:none}.btn-link:hover{border-color:var(--red);background:var(--hl)}table.spec th[scope=row]{background:var(--hl);letter-spacing:.04em;text-transform:none;width:11rem}.facts-line{color:var(--ink2);margin-top:2px;font-size:11px;display:block}.release-list{gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.release-list li{grid-template-columns:7.5rem 1fr;gap:10px;display:grid}.release-list time{color:var(--ink2)}.wanted{margin:0 0 12px;padding-left:1.2rem}.notes{position:relative}.notes-nav{justify-content:flex-end;gap:6px;margin:-34px 0 8px;display:flex}.notes-nav[hidden]{display:none}.notes-nav button{border:1px solid var(--ink2);cursor:pointer;background:0 0;border-radius:50%;width:28px;height:28px;font-size:16px;line-height:1}.notes-nav button:hover{background:var(--hl)}.note-cards{scroll-snap-type:x mandatory;gap:12px;margin:0;padding:0 0 8px;list-style:none;display:flex;overflow-x:auto}.notes-grid .note-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid;overflow:visible}.note-card{scroll-snap-align:start;flex:0 0 min(260px,78%)}.notes-grid .note-card{flex:initial}.note-card a{border:1px solid var(--ink);background:var(--card);flex-direction:column;gap:6px;height:100%;padding:12px 14px;text-decoration:none;display:flex}.note-card a:hover{border-color:var(--red);background:var(--hl)}.note-card .wk{color:var(--red);font:700 22px var(--sans)}.note-card time,.note-card .meta{color:var(--ink2);font-size:11px}.note-card .headlines{flex:1;margin:0;padding-left:1rem;font-size:12px;line-height:1.4}.note-card .headlines li{margin-bottom:3px}.contact p{margin:0 0 10px}.channels{grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0 0;padding:0;list-style:none;display:grid}.channels a,.channels button{--mark:var(--ink);background:linear-gradient(var(--mark), var(--mark)) top left / 14px 1.5px, linear-gradient(var(--mark), var(--mark)) top left / 1.5px 14px, linear-gradient(var(--mark), var(--mark)) top right / 14px 1.5px, linear-gradient(var(--mark), var(--mark)) top right / 1.5px 14px, linear-gradient(var(--mark), var(--mark)) bottom left / 14px 1.5px, linear-gradient(var(--mark), var(--mark)) bottom left / 1.5px 14px, linear-gradient(var(--mark), var(--mark)) bottom right / 14px 1.5px, linear-gradient(var(--mark), var(--mark)) bottom right / 1.5px 14px, var(--card);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background-repeat:no-repeat;border:0;align-items:center;gap:14px;padding:16px 18px;text-decoration:none;display:flex}.channels a:hover,.channels button:hover{--mark:var(--red);background-color:var(--hl)}.channels .ico{border:1px solid var(--ink2);width:40px;height:40px;color:var(--red);flex:none;place-items:center;display:grid}.channels .k{color:var(--ink2);letter-spacing:.1em;text-transform:uppercase;font-size:10px;display:block}.channels .v{font-weight:600;display:block}.muted{color:var(--ink2)}@media (width<=860px){body{overflow:auto}.app{height:auto;display:block}.side{border-right:0;border-bottom:1px solid var(--ink2);flex-flow:wrap;align-items:center;gap:10px 14px}.side h2,.side .here,.side .links{display:none}.side ul{flex-wrap:wrap;gap:0 6px;display:flex}.side nav .sub,.side nav .pages>ul>li>ul{display:none}.side .foot{border:0;margin:0 0 0 auto;padding:0}.project-row{grid-template-columns:1fr}.notes-nav{margin:0 0 8px}.desk{padding:14px 10px 60px}.frame{display:block}.ruler{display:none}.sheet{padding:18px 16px 28px}.sheet-head,.intro{grid-template-columns:1fr}.rev{text-align:left}td:nth-child(3),th:nth-child(3){display:none}}.calendar{margin:0 0 12px}.cal-rows{gap:6px;display:grid}.cal-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cal-month{width:52px;color:var(--ink2);letter-spacing:.08em;font-size:11px}.cal-cell{border:1px solid var(--ink2);flex-direction:column;justify-content:center;align-items:center;width:52px;height:46px;font-size:11px;text-decoration:none;display:flex}.cal-cell small{color:var(--ink2);font-size:10px}.cal-cell.on{border-color:var(--ink);background:var(--card)}.cal-cell.on b{color:var(--red)}.cal-cell.on:hover,.cal-cell.on:focus-visible{border-color:var(--red);background:var(--hl)}.cal-cell.off{color:var(--ink2);opacity:.55;border-style:dashed}.issues td:first-child{white-space:nowrap}.issues ul{margin:0;padding-left:1rem}.aligned{table-layout:fixed}.aligned th:first-child{width:20%}.aligned th:nth-child(3){width:22%}.aligned th:nth-child(4){width:13%}.siteplan-wrap{border:1px solid var(--ink);margin:0}.siteplan{width:100%;height:auto;max-height:300px;color:var(--ink2);display:block}.siteplan .sp-mark,.siteplan .sp-label{stroke:var(--red);color:var(--red)}.siteplan .sp-label{fill:var(--red);stroke:none;font-weight:700}.siteplan .sp-text{fill:var(--ink)}.siteplan-wrap figcaption{border-top:1px solid var(--ink);color:var(--ink2);letter-spacing:.08em;padding:4px 9px;font-size:11px}.note-row{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:0 0 14px;padding:0;list-style:none;display:grid}.note-card .summary{-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:none;margin:0;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.row-title{letter-spacing:.08em;text-transform:uppercase;margin:16px 0 8px;font-size:13px}.row-title small{color:var(--ink2);text-transform:none;margin-left:8px;font-weight:400}.sheet p{line-height:1.6}.lead{max-width:72ch;margin-bottom:18px}.table-wrap+.table-wrap{margin-top:28px}.cards,.note-row{gap:18px}.note-card:not(.more) a{--edge:var(--ink);border-color:var(--edge);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%);position:relative}.note-card:not(.more) a:after{content:"";border-bottom:1px solid var(--edge);border-left:1px solid var(--edge);background:linear-gradient(225deg, transparent calc(50% - .7px), var(--edge) calc(50% - .7px), var(--edge) calc(50% + .7px), var(--hl) calc(50% + .7px));width:18px;height:18px;position:absolute;top:0;right:0}.note-card:not(.more) a:hover{--edge:var(--red)}@media (width<=860px){.channels{grid-template-columns:1fr}}.spec th{vertical-align:middle}.dim{color:var(--ink2);letter-spacing:.1em;align-items:center;gap:10px;margin:44px 0 0;font-size:10px;display:flex}.dim+section h2.sec{margin-top:28px}.dim .t{background:currentColor;flex:none;width:1px;height:16px}.dim .l{background:currentColor;flex:1;height:1px;position:relative}.dim .l:before,.dim .l:after{content:"";border:3.5px solid #0000;position:absolute;top:-3px}.dim .l.a:before{border-left:0;border-right:9px solid;left:0}.dim .l.b:after{border-left:9px solid;border-right:0;right:0}.dim b{flex:none;font-weight:500}.dim.v1,.dim.v6{height:20px}.dim .cl{background:repeating-linear-gradient(90deg,currentColor 0 18px,#0000 18px 23px,currentColor 23px 27px,#0000 27px 32px);flex:1;height:1px}.dim .xh{border:1px solid;border-radius:50%;flex:none;width:14px;height:14px;position:relative}.dim .xh:before,.dim .xh:after{content:"";background:currentColor;position:absolute}.dim .xh:before{width:1px;height:24px;top:-6px;left:50%}.dim .xh:after{width:24px;height:1px;top:50%;left:-6px}.dim .l.short{flex:none;width:56px}.dim .l.fade{background:linear-gradient(90deg,currentColor,#0000)}.dim .l.short:before,.dim .l.short:after,.dim .l.fade:before,.dim .l.fade:after{display:none}.dim .bub{border:1px solid var(--red);width:22px;height:22px;color:var(--red);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.dim .rule{background:repeating-linear-gradient(90deg,currentColor 0 1px,#0000 1px 37.795px) bottom/100% 9px no-repeat,repeating-linear-gradient(90deg,currentColor 0 1px,#0000 1px 3.7795px) bottom/100% 4px no-repeat;border-bottom:1px solid;flex:1;height:9px}.dim .zz{flex:none}.dim .lv{color:var(--red);flex:none}.dim .cut{border-left:3px solid;flex:none;padding:1px 6px;font-weight:700}.dim .cut.r{border-left:0;border-right:3px solid}.more-link{color:var(--ink2);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:8px;margin:-4px 0 0;font-size:12px;text-decoration:none;display:flex}.more-link .t{background:currentColor;width:1px;height:14px}.more-link .l{border-top:1px dashed;flex:1;height:0;position:relative}.more-link .l:after{content:"";border:3.5px solid #0000;border-left:9px solid;border-right:0;position:absolute;top:-4px;right:0}.more-link span{color:var(--ink);border:1px solid;padding:3px 10px}.more-link:hover{color:var(--red)}.more-link:hover span{background:var(--hl);color:var(--red)}.dim.v0{width:62%;margin:40px 0 6px auto}.dim.v1{width:46%;margin:56px auto 14px}.dim.v2{width:72%;margin:34px auto 2px 0}.dim.v3{width:54%;margin:48px 0 8px auto}.dim.v4{width:26%;margin:62px auto 20px}.dim.v5{width:38%;margin:38px auto 10px 0}.dim.v6{width:84%;margin:52px auto 4px 0}@media (width<=860px){.dim{width:100%!important}}.tasks{counter-reset:wo;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin:0 0 8px;padding:0;list-style:none;display:grid}.tasks a{border:1px solid var(--ink);background:var(--card);gap:8px;height:100%;padding:14px 16px 12px 22px;text-decoration:none;display:grid;position:relative}.tasks a:before{content:"";border-right:1px solid var(--ink);background:repeating-linear-gradient(135deg, var(--ink2) 0 1px, transparent 1px 5px);width:8px;position:absolute;top:0;bottom:0;left:0}.tasks a:hover{border-color:var(--red);background:var(--hl)}.tasks .wo{color:var(--red);font:700 11px var(--mono);letter-spacing:.14em}.tasks .stamps{flex-wrap:wrap;gap:6px;display:flex}.stamp{border:1px solid var(--ink2);color:var(--ink2);letter-spacing:.1em;text-transform:uppercase;padding:1px 6px;font-size:10px}.stamp.ok{border-color:var(--ok);color:var(--ok)}.tasks .ref{color:var(--ink2);font-size:11px}.tasks a{grid-template-rows:auto auto 1fr auto}.tasks .stamps{align-items:flex-start}.tasks+.contact,.tasks~.contact{margin-top:36px}.tasks [hidden]{display:none}.filters{border:1px dashed var(--ink2);flex-wrap:wrap;align-items:flex-end;gap:18px 28px;margin:0 0 18px;padding:12px 14px;display:flex}.filters label{color:var(--ink2);letter-spacing:.1em;text-transform:uppercase;gap:4px;font-size:10px;display:grid}.filters select{border:1px solid var(--ink);background:var(--card);min-width:170px;color:var(--ink);font:inherit;letter-spacing:0;text-transform:none;border-radius:0;padding:5px 8px;font-size:13px}.filters output{color:var(--ink2);margin-left:auto;font-size:12px}
