
/* ===================== MAKING-OF (.mo-) ===================== */
.moh h1{font-size:clamp(54px,min(8.8vw,15.5vh),160px)}
.mo-bd{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line2,var(--ln))}
.mo-bd div{display:grid;gap:10px;padding:20px 18px 18px}
.mo-bd div+div{border-left:1px solid var(--line2,var(--ln))}
.mo-bd b{font-size:clamp(56px,6vw,104px);font-weight:800;letter-spacing:-.06em;line-height:.85}
.mo-bd div:first-child b{color:var(--vul)}
.mo-bd span{font:600 10.5px/1.2 var(--f);letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.mo-bt{margin-top:12px;font-size:13.5px;color:var(--mut)}

/* kinds, shared by blocks and legends */
.mo-ax i,.mo-lg i,.mo-kb span,.mo-dp .k i{background:var(--fg)}
.mo-ax i.build,.mo-lg i.build,.mo-kb .build,.mo-dp .k.build i{background:var(--vul)}
.mo-ax i.comply,.mo-lg i.comply,.mo-kb .comply,.mo-dp .k.comply i{background:var(--fg)}
.mo-ax i.enable,.mo-lg i.enable,.mo-kb .enable,.mo-dp .k.enable i{background:repeating-linear-gradient(-45deg,var(--ac) 0 2px,transparent 2px 5px);box-shadow:inset 0 0 0 1.5px var(--ac)}
.mo-ax i.secure,.mo-lg i.secure,.mo-kb .secure,.mo-dp .k.secure i{background:transparent;box-shadow:inset 0 0 0 1.5px var(--fg)}

/* scrubber */
.mo-sc .st-l{margin-top:0}
.mo-sr{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px}
.mo-sr input[type=range]{flex:1 1 280px;-webkit-appearance:none;appearance:none;height:28px;background:transparent;cursor:pointer;margin:0}
.mo-sr input[type=range]::-webkit-slider-runnable-track{height:2px;background:var(--fg)}
.mo-sr input[type=range]::-moz-range-track{height:2px;background:var(--fg)}
.mo-sr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;margin-top:-9px;background:var(--vul);border:0;border-radius:0}
.mo-sr input[type=range]::-moz-range-thumb{width:20px;height:20px;background:var(--vul);border:0;border-radius:0}
.mo-sr input[type=range]:focus-visible{outline:2px solid var(--ac);outline-offset:4px}
.mo-sr output{min-width:15em;font:500 13px/1.3 var(--m);color:var(--fg)}

/* the axis: one column per calendar day */
.mo-ax{display:flex;margin-top:30px;border-bottom:2px solid var(--fg)}
.mo-d{flex:1 1 0;min-width:0;display:grid;gap:8px;align-content:end;justify-items:stretch;text-align:left;padding:12px clamp(6px,1.2vw,18px) 14px;background:transparent;border:0;color:var(--fg);font:inherit;cursor:pointer;transition:background-color .3s}
.mo-d+.mo-d{border-left:1px solid var(--ln)}
.mo-d b{font-size:clamp(20px,2vw,30px);font-weight:800;letter-spacing:-.04em;line-height:1}
.mo-d.z b{color:var(--mut)}
.mo-d .bk{display:flex;flex-direction:column-reverse;gap:3px;height:calc(var(--mx) * 15px)}
.mo-d .bk i{display:block;flex:0 0 12px;height:12px}
.mo-d .bk i.z{flex-basis:3px;height:3px;background:var(--ln)}
.mo-d em{font:500 11px/1.4 var(--m);font-style:normal;color:var(--mut);white-space:nowrap}
.mo-d .cu{font:500 11px/1 var(--m);color:var(--ac)}
.mo-d .bk,.mo-d b{transition:opacity .35s}
.mo-d.fut .bk,.mo-d.fut b,.mo-d.fut .cu{opacity:.18}
.mo-d:hover{background:color-mix(in srgb,var(--fg) 4%,transparent)}
.mo-d[aria-pressed="true"]{background:color-mix(in srgb,var(--fg) 7%,transparent);box-shadow:inset 0 -4px 0 var(--vul)}
.mo-af{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 30px;margin-top:14px}
.mo-lg{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13.5px;font-weight:700}
.mo-lg li{display:flex;align-items:center;gap:8px}
.mo-lg i{width:12px;height:12px}
.mo-lg .tn{font:500 12px/1 var(--m);color:var(--mut)}
.mo-sn{font-size:13.5px;color:var(--mut);max-width:60ch}

/* the selected day */
.mo-dp{margin-top:clamp(40px,4.5vw,64px);border-top:2px solid var(--fg);padding-top:22px}
.mo-dp header{display:grid;gap:8px}
.mo-dp h3{font-size:clamp(28px,3.2vw,50px);font-weight:800;letter-spacing:-.045em;line-height:1}
.mo-by{font:500 12px/1.5 var(--m);color:var(--mut)}
.mo-ln{margin-top:18px;font-size:clamp(18px,1.6vw,23px);font-weight:700;letter-spacing:-.015em;line-height:1.35;max-width:48ch}
.mo-dp ol{list-style:none;margin:22px 0 0;padding:0}
.mo-dp li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px 24px;padding:16px 0;border-top:1px solid var(--ln)}
.mo-dp .k{display:flex;align-items:center;gap:8px;font:600 10.5px/2 var(--f);letter-spacing:.16em;text-transform:uppercase;color:var(--mut);align-self:start}
.mo-dp .k i{width:10px;height:10px;flex:0 0 10px}
.mo-dp li b{font-size:19px;font-weight:800;letter-spacing:-.025em}
.mo-dp li p{margin-top:6px;font-size:15.5px;line-height:1.55;color:var(--mut);max-width:72ch}
.mo-dp .ln{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px}
.mo-dp .ln a{font-size:13px;font-weight:700;color:var(--fg);border-bottom:1.5px solid var(--ac)}

/* counted */
.mo-ct{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--fg)}
.mo-ct>li{display:grid;grid-template-rows:auto 1fr auto;gap:12px;align-content:start;padding:24px 22px 24px 0;border-bottom:1px solid var(--ln);min-width:0}
.mo-ct>li:not(:nth-child(4n+1)){padding-left:22px;border-left:1px solid var(--ln)}
.mo-ct>li>b{font-size:clamp(56px,5.6vw,98px);font-weight:800;letter-spacing:-.065em;line-height:.85}
.mo-ct>li:first-child>b{color:var(--ac)}
.mo-ct>li>span{font-size:15px;font-weight:700;line-height:1.4;max-width:26ch}
.mo-ct code{font:500 11.5px/1.4 var(--m);color:var(--mut);overflow-wrap:anywhere}
.mo-ct li.w{grid-template-rows:auto auto auto 1fr}
.mo-kb{display:flex;height:16px;gap:2px;margin-top:6px}
.mo-kb span{flex:0 0 calc(var(--w) * 100% - 2px)}
.mo-kb span[hidden]{display:none}
.mo-ct .mo-lg{font-size:13px;gap:6px 14px}

/* principles */
.mo-pr{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--fg)}
.mo-pr li{display:grid;grid-template-rows:auto auto 1fr auto auto;gap:12px;align-content:start;padding:24px 26px 28px 0;border-bottom:1px solid var(--ln);min-width:0}
.mo-pr li:not(:nth-child(3n+1)){padding-left:26px;border-left:1px solid var(--ln)}
.mo-pr .n{font:500 12px/1 var(--m);color:var(--ac)}
.mo-pr b{font-size:clamp(21px,1.9vw,28px);font-weight:800;letter-spacing:-.035em;line-height:1.1}
.mo-pr p{font-size:15px;line-height:1.55;color:var(--mut);max-width:38ch}
.mo-pr .sp{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:74px;padding:14px 16px;border:1px dashed var(--line2,var(--ln));background:var(--bg)}
.mo-pr li>a{justify-self:start;font-size:13.5px;font-weight:700;border-bottom:1.5px solid var(--ac)}
.mo-pr li>a:hover{color:var(--ac)}
.mo-dsc{border:1px solid var(--fg);border-left:4px solid var(--vul);padding:8px 12px;font-size:14px}
.mo-dsc b{font-weight:800}
.mo-cd{font:500 12.5px/1.6 var(--m);color:var(--fg)}
.mo-cd span{color:var(--ac)}
.mo-rm{display:flex;align-items:center;gap:10px;font-size:14.5px;font-weight:600}
.mo-rm i{width:12px;height:12px;border-radius:50%;border:2px solid var(--fg)}
.mo-rm.on i{background:var(--vul);border-color:var(--vul)}
.mo-rm b{font-weight:800}
.mo-ty{display:flex;align-items:baseline;gap:18px}
.mo-ty b{font-size:40px;font-weight:800;letter-spacing:-.05em;line-height:1}
.mo-ty code{font:500 13px/1 var(--m);color:var(--mut)}

/* built with AI */
.mo-ai{max-width:1000px}
.mo-aw{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:26px}
.mo-ai .nwh-m div{grid-template-columns:170px minmax(0,1fr);padding:16px 0}
.mo-ai .nwh-m dd{font-size:16.5px;line-height:1.5}

@media (max-width:1100px){.mo-ct{grid-template-columns:1fr 1fr}.mo-ct>li:not(:nth-child(4n+1)){padding-left:0;border-left:0}.mo-ct>li:nth-child(even){padding-left:22px;border-left:1px solid var(--ln)}
  .mo-pr{grid-template-columns:1fr 1fr}.mo-pr li:not(:nth-child(3n+1)){padding-left:0;border-left:0}.mo-pr li:nth-child(even){padding-left:26px;border-left:1px solid var(--ln)}}
@media (max-width:760px){.mo-bd div{padding:16px 12px}.mo-sr output{min-width:0;flex:1 1 100%}.mo-d{padding:10px 5px 12px}.mo-d em{font-size:10px;white-space:normal}.mo-d .cu{font-size:10px}
  .mo-dp li{grid-template-columns:1fr;gap:4px}.mo-ct>li{padding:20px 14px 20px 0}.mo-ct>li:nth-child(even){padding-left:14px}.mo-ct>li>b{font-size:52px}.mo-ct>li>span{font-size:14px}
  .mo-pr{grid-template-columns:1fr}.mo-pr li:nth-child(even){padding-left:0;border-left:0}.mo-ai .nwh-m div{grid-template-columns:1fr}}
