/* The Doors: a wall of 54, wall to wall. Open doors stay open, so the wall fills with pictures in full color, no tint. */
.dr,.dh{--m:clamp(16px,4vw,64px);--ink:#0e243a;--red:#c8202f;--blue:#b0dff6;--paper:#f8f6f0;--yel:#f2c84b;--lit:#fdf3c7;--mono:'Red Hat Mono',ui-monospace,monospace;--cond:'Barlow Condensed','Arial Narrow',sans-serif;--sans:'Public Sans',system-ui,sans-serif;font-family:var(--sans)}
.dr *,.dh *{box-sizing:border-box}
.dr{background:var(--ink);color:var(--paper)}
html:not(#tgc-sq) body main.dr :is(img,button,a,dialog){border-radius:0!important}
.dr [hidden],.dh [hidden]{display:none!important}
.dr-top{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:clamp(20px,4vw,64px);align-items:center;padding:clamp(28px,4vw,60px) var(--m)}
.dr-k{margin:0;font:700 13px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.dr-top h1{margin:12px 0 0;color:var(--paper);font:800 clamp(64px,10vw,180px)/.92 var(--cond);letter-spacing:-.02em}
.dr-dek{margin:18px 0 0;max-width:52ch;font:500 clamp(19px,1.8vw,25px)/1.32 var(--sans);color:var(--paper)}
.dr-hero{display:block;width:100%;max-width:440px;height:auto;justify-self:center}
.dr-stats{display:grid;grid-template-columns:auto auto auto minmax(0,1fr);gap:0 clamp(18px,3vw,44px);margin:clamp(22px,3vw,36px) 0 0;padding-top:14px;border-top:2px solid var(--paper)}
.dr-stats dt{font:700 12px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--paper)}
.dr-stats dd{margin:6px 0 0;font:800 clamp(30px,3.2vw,46px)/1.04 var(--cond);color:var(--paper);font-variant-numeric:tabular-nums}
.dr-stats dd small{font-size:.6em;font-weight:700}
.dr-stats .dr-rank{font-size:clamp(22px,2vw,30px)}
.dr-acts,.dr-dlg-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.dr-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 18px;border:2px solid var(--yel);background:var(--yel);color:var(--ink);font:700 16px/1.2 var(--sans);text-decoration:none;cursor:pointer}
.dr-btn.is-2{background:transparent;color:var(--paper);border-color:var(--paper)}
.dr-btn:hover{background:var(--red);border-color:var(--red);color:#fff}
.dr-said{min-height:1.4em;margin:12px 0 0;font:500 16px/1.4 var(--sans);color:var(--paper)}
/* the wall */
.dr-wall{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:2px;margin:0;padding:2px 0;list-style:none;perspective:1400px}
.dr-cell{position:relative;aspect-ratio:3/4;min-width:0;background:#06121e;scroll-margin-top:120px}
.dr-in{position:absolute;inset:0;overflow:hidden;background:var(--blue)}
.dr-in img{display:block;width:100%;height:100%;object-fit:cover}
.dr-in.is-art img,.dr-in.is-pic img{object-fit:contain;padding:8%}
.dr-in.is-pic{background:#fff}
.dr-leaf{appearance:none;position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:10px 12px;border:0;overflow:hidden;background:var(--bg);color:var(--fg);text-align:left;cursor:pointer;transform-origin:left center;transition:transform .6s cubic-bezier(.3,.9,.35,1);backface-visibility:hidden}
.c-pow{--bg:var(--blue);--fg:var(--ink)}.c-pap{--bg:var(--paper);--fg:var(--ink)}.c-yel{--bg:var(--yel);--fg:var(--ink)}.c-lit{--bg:var(--lit);--fg:var(--ink)}.c-nav{--bg:#17395a;--fg:var(--paper)}.c-red{--bg:var(--red);--fg:#fff}
.dr-mo{font:700 12px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.dr-no{font:800 clamp(44px,5vw,84px)/.95 var(--cond);letter-spacing:-.01em}
.dr-art{position:absolute;right:6px;bottom:6px;width:max(96px,62%);height:auto;aspect-ratio:1;object-fit:contain;pointer-events:none}
.dr-cell.is-lock .dr-leaf{cursor:not-allowed}
.dr-cell.is-today .dr-leaf::after{content:"Today";position:absolute;left:12px;bottom:12px;padding:5px 8px;background:var(--ink);color:var(--paper);font:700 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.dr-cell.is-today{outline:4px solid var(--red);outline-offset:-4px;z-index:2}
.dr-cell.is-today:not(.is-on) .dr-leaf{animation:dr-ajar 3.6s ease-in-out infinite}
.dr-cell.is-late:not(.is-on) .dr-leaf::after{content:"Still shut";position:absolute;left:12px;bottom:12px;padding:5px 8px;background:var(--ink);color:var(--paper);font:700 12px/1 var(--mono)}
.dr-cell.is-on .dr-leaf{transform:rotateY(-104deg);pointer-events:none}
.dr-cell.is-on{cursor:pointer}
.dr-cell.is-no .dr-leaf{animation:dr-no .42s ease}
.dr-leaf:hover .dr-no{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:4px}
.dr-cell.is-lock .dr-leaf:hover .dr-no{text-decoration:none}
.dr-leaf:focus-visible{outline:3px solid var(--red);outline-offset:-5px}
@keyframes dr-ajar{0%,84%,100%{transform:rotateY(0)}90%{transform:rotateY(-13deg)}}
@keyframes dr-no{20%{transform:translateX(-5px)}45%{transform:translateX(5px)}70%{transform:translateX(-3px)}}
.dr-fine{margin:0;padding:clamp(20px,3vw,36px) var(--m) clamp(36px,5vw,64px);max-width:calc(72ch + 2*var(--m));font:400 16px/1.5 var(--sans);color:var(--paper)}
/* behind the door */
.dr-dlg{width:min(980px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:0;background:var(--paper);color:var(--ink);overflow:auto}
.dr-dlg[open]{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.dr-dlg::backdrop{background:#0e243ae6}
.dr-dlg-pic{min-height:320px;background:var(--blue)}
.dr-dlg-pic img{display:block;width:100%;height:100%;object-fit:cover}
.dr-dlg-pic.is-pic{background:#fff}
.dr-dlg-pic.is-pic img,.dr-dlg-pic.is-art img{object-fit:contain;padding:6%}
.dr-dlg-txt{padding:clamp(20px,3vw,40px)}
.dr-dlg-txt .dr-k{color:var(--ink)}
.dr-dlg h2{margin:10px 0 0;color:var(--ink);font:800 clamp(38px,4.6vw,64px)/1 var(--cond)}
.dr-l{margin:14px 0 0;font:400 clamp(18px,1.5vw,20px)/1.45 var(--sans);color:var(--ink)}
.dr-dlg .dr-btn{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.dr-dlg .dr-btn.is-2{background:transparent;color:var(--ink)}
.dr-dlg .dr-btn:hover{background:var(--red);border-color:var(--red);color:#fff}
/* the home band */
.dh{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:clamp(20px,3vw,48px);align-items:stretch;padding:clamp(28px,4vw,56px) var(--m);background:var(--ink);color:var(--paper)}
html:not(#tgc-sq) body .dh :is(a,span){border-radius:0!important}
.dh-k{margin:0;font:700 13px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--paper)}
.dh h2{margin:10px 0 0;color:var(--paper);font:800 clamp(44px,5.4vw,88px)/.96 var(--cond);letter-spacing:-.01em}
.dh-dek{margin:14px 0 0;max-width:36ch;font:500 clamp(18px,1.5vw,21px)/1.35 var(--sans);color:var(--paper)}
.dh-go{margin:16px 0 0}.dh-go a{color:var(--paper);font:700 17px/1.3 var(--sans);text-decoration:underline;text-underline-offset:3px}
.dh-row{display:flex;gap:2px;margin:0;padding:0;list-style:none;min-height:clamp(220px,24vw,360px)}
.dh-d{display:flex;flex:1 1 0;min-width:0}
.dh-d.is-today{flex-grow:1.7}
.dh-leaf{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:12px;background:var(--blue) center/cover no-repeat;color:var(--ink);text-decoration:none}
html:not(#tgc-sq) body .dh a.dh-leaf,html:not(#tgc-sq) body .dh a.dh-leaf :is(small,b){color:var(--ink)}
html:not(#tgc-sq) body .dh a.dh-leaf i{color:var(--paper)}
.dh-leaf small{font:700 12px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.dh-leaf b{font:800 clamp(52px,6vw,104px)/.95 var(--cond)}
.dh-leaf i{margin-top:auto;padding:5px 8px;background:var(--ink);color:var(--paper);font:700 12px/1 var(--mono);font-style:normal;letter-spacing:.06em;text-transform:uppercase}
.dh-d.is-today .dh-leaf{background-color:var(--yel)}
.dh-d.is-lock .dh-leaf{background-color:var(--lit)}
.dh-d.is-lock:nth-child(3n) .dh-leaf{background-color:var(--blue)}
.dh-d.is-lock:nth-child(3n+2) .dh-leaf{background-color:var(--paper)}
.dh-art{align-self:center;width:min(100%,clamp(130px,12vw,190px));height:auto;margin:auto 0}
.dh-leaf:has(.dh-art) i{margin-top:0}
.dh-d.is-on .dh-leaf{background-color:var(--paper)}
.dh-d.is-on .dh-leaf :is(small,b){padding:2px 6px;background:var(--paper);color:var(--ink)}
a.dh-leaf:hover i{background:var(--red);color:#fff}
@media (prefers-reduced-motion:reduce){.dr-leaf{transition:none}.dr-cell.is-today .dr-leaf,.dr-cell.is-no .dr-leaf{animation:none}}
@media (max-width:1180px){.dr-wall{grid-template-columns:repeat(6,minmax(0,1fr))}.dh{grid-template-columns:minmax(0,1fr)}}
@media (max-width:820px){.dr-top{grid-template-columns:minmax(0,1fr)}.dr-hero{max-width:300px}.dr-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.dr-stats div:last-child{grid-column:1/-1;margin-top:12px}.dr-wall{grid-template-columns:repeat(3,minmax(0,1fr))}.dr-dlg[open]{grid-template-columns:minmax(0,1fr)}.dr-dlg-pic{height:42vh;min-height:0}.dr-no{font-size:56px}}
@media (max-width:560px){.dh-d:not(.is-today):nth-child(n+4){display:none}.dh-row{min-height:230px}.dh-leaf{padding:10px}.dh-leaf b{font-size:56px}}
.skip{position:absolute;left:8px;top:-60px;z-index:100;padding:10px 14px;background:#0e243a;color:#fff}
.skip:focus{top:8px}
body{margin:0}
