:root{color-scheme:dark;font-family:"Courier New",Courier,monospace;color:#eee;background:#000}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit}.page{width:100%;max-width:2200px;margin-inline:auto;padding:clamp(36px,6vw,120px) clamp(18px,4.5vw,90px) 50px}.intro{margin-bottom:clamp(35px,5vw,85px)}.eyebrow{color:#999;font-size:clamp(12px,1vw,17px);letter-spacing:.08em;margin:0 0 20px}h1{font-weight:400;font-size:clamp(30px,4.2vw,76px);line-height:1.15;margin:0}h2{font-weight:400;font-size:clamp(24px,2.5vw,43px);margin:0 0 14px}.folder-tab{display:flex;align-items:center;gap:12px;width:max-content;background:#484848;border:1px solid #777;border-bottom:0;border-radius:17px 17px 0 0;padding:18px 32px;position:relative;z-index:1;font-size:clamp(15px,1.3vw,22px)}.status-dot{width:7px;height:7px;background:#ccc;border-radius:50%}.folder{background:linear-gradient(135deg,#303030,#222 65%);border:1px solid #777;border-radius:0 15px 15px 15px;padding:clamp(18px,2.8vw,55px)}.folder-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:32px}.folder-heading p{margin:0;color:#bbb;font-size:clamp(14px,1.2vw,20px);line-height:1.65;max-width:650px}.count{font-size:13px;white-space:nowrap;color:#aaa;margin-top:10px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,36px)}.photo{display:block;text-decoration:none;min-width:0;background:#141414;border:1px solid #555;border-radius:3px;overflow:hidden;transition:border-color .2s,transform .2s}.photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#111}.photo-number{display:flex;justify-content:space-between;padding:12px 16px;color:#bbb;font-size:13px;letter-spacing:.08em}.photo:hover{border-color:#ddd;transform:translateY(-3px)}a:focus-visible,button:focus-visible{outline:2px solid #fff;outline-offset:5px}.hint{color:#aaa;font-size:12px;line-height:1.6;margin:25px 0 0}footer{text-align:center;margin-top:clamp(40px,5vw,80px)}.back{display:inline-block;padding:8px 4px;text-decoration:none;border-bottom:1px solid #888;font-size:16px;letter-spacing:.05em}.back:hover{border-color:white}.lightbox{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;border:0;padding:0;margin:0;color:#eee;background:rgba(0,0,0,.97);overflow:hidden}.lightbox::backdrop{background:#000}.lightbox[open]{display:flex;flex-direction:column}.lightbox-top{display:flex;align-items:center;justify-content:space-between;padding:18px clamp(16px,3vw,50px);flex:none;gap:15px}.position{font-size:14px;color:#bbb}.close{color:#ddd;background:transparent;border:1px solid #555;border-radius:3px;padding:8px 12px;cursor:pointer}.close span{font-size:23px;vertical-align:middle;margin-left:10px}.stage{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;touch-action:pan-y pinch-zoom}.stage figure{margin:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px clamp(42px,8vw,150px);pointer-events:none}.full-image{display:block;min-height:0;max-width:100%;max-height:calc(100% - 48px);object-fit:contain}.stage figcaption{color:#bbb;font-size:13px;line-height:1.5;text-align:center;padding-top:14px;min-height:34px}.step{position:absolute;z-index:2;top:0;bottom:0;width:clamp(40px,8vw,140px);border:0;color:white;background:transparent;cursor:pointer;font-size:clamp(42px,5vw,75px);display:flex;align-items:center;justify-content:center}.previous{left:0}.next{right:0}.step:hover{background:rgba(255,255,255,.04)}.step span{opacity:.8}.lightbox-help{font-size:11px;color:#888;text-align:center;padding:10px 15px 20px;margin:0;flex:none}@media(min-width:1500px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.page{padding-top:38px}.intro{margin-bottom:35px}.folder-tab{padding:15px 23px}.folder-heading{display:block;margin-bottom:25px}.count{display:block;margin-top:18px}.grid{grid-template-columns:1fr}.photo:hover{transform:none}.hint{font-size:11px}.lightbox-top{padding:12px}.close{font-size:12px}.stage figure{padding:4px 35px}.step{width:34px}.stage figcaption{font-size:11px}.lightbox-help{font-size:10px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Center a single photo remaining in the last desktop row. */
@media(min-width:1500px){.grid>.photo:last-child:nth-child(3n + 1){grid-column:2}}
