:root{color-scheme:light;--paper:#fff;--ink:#080808;--label:#d4d4d4;--muted:#555;--scale:1;--site-font:Arial,Helvetica,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;--font-regular:400;--font-heading:500;font-family:var(--site-font);font-size:16px;font-weight:var(--font-regular);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}h1,h2,h3{font-weight:var(--font-heading)}button{cursor:pointer;touch-action:manipulation;border:0;border-radius:0}button:disabled{opacity:.25;cursor:default}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #143ac4;outline-offset:3px}img{display:block;max-width:100%}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-100px;left:12px;z-index:99;padding:12px;background:#080808;color:white}.skip:focus{top:12px}
.label{background:transparent;color:var(--ink);font-size:.875rem;font-weight:inherit;line-height:1.3;box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:1px 3px}.site-nav{--nav-line-height:22px;position:fixed;inset:0 0 auto;z-index:30;pointer-events:none;display:grid;grid-template-columns:1fr minmax(max-content,1fr) 1fr;align-items:start}.site-nav>*{display:flex;flex-direction:column;align-items:flex-start}.site-nav a,.site-nav button{pointer-events:auto}.site-nav .nav-center{align-items:center}.site-nav .nav-left{padding-top:var(--nav-line-height)}.site-nav .nav-right{align-items:flex-end;padding-top:var(--nav-line-height)}.wordmark{letter-spacing:-.02em;min-height:var(--nav-line-height);white-space:nowrap}.nav-button{min-height:22px;padding:1px 3px}.nav-button:hover,.nav-button[aria-expanded="true"],.nav-button[aria-pressed="true"],.label-link:hover{background:transparent;color:inherit;text-decoration:underline;text-underline-offset:3px}.index-menu{position:fixed;top:44px;z-index:29;max-height:calc(100dvh - 110px);overflow:auto;scrollbar-width:thin;width:max-content;max-width:38vw;line-height:1.4}.left-menu{left:0}.right-menu{right:0;text-align:right}.index-menu ul{list-style:none;margin:0;padding:0}.index-menu li{margin:0}.menu-link{display:inline;overflow-wrap:anywhere}.menu-link:hover{background:transparent;color:inherit;text-decoration:underline;text-underline-offset:3px}.index-menu summary{list-style:none;cursor:pointer;display:table;min-height:24px;font-size:.875rem;font-weight:var(--font-regular);background:transparent;padding:2px 3px}.index-menu summary::-webkit-details-marker{display:none}.right-menu summary{margin-left:auto}.index-menu details[open]>summary{background:transparent;text-decoration:underline;text-underline-offset:3px}.menu-row{padding:1px 0}.view-detail{display:none}.menu-row:hover .view-detail,.menu-row:focus-within .view-detail{display:inline}.menu-reference{font-size:.75rem;font-weight:400;margin-top:8px;padding:3px;background:var(--paper);color:var(--muted);display:table}.right-menu .menu-reference{margin-left:auto}.category-controls{display:flex;flex-wrap:wrap;gap:3px;margin-top:12px;max-width:270px}.category-controls button{padding:5px;font-size:.75rem;background:transparent;line-height:1.4}.category-controls button[aria-pressed="true"]{background:transparent;text-decoration:underline;text-underline-offset:3px}
main{min-height:100dvh;outline:0}.gallery{padding-top:44px;padding-bottom:90px}.gallery-row{--local-scale:1;position:relative;margin:0;scroll-margin-top:48px;overflow:hidden}.image-rail{display:flex;align-items:flex-start;gap:calc(8vw * var(--local-scale) * var(--scale));padding:0 8.8vw;width:100%;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}.image-rail::-webkit-scrollbar{display:none}.gallery-tile{padding:0;background:none;display:block;flex:0 0 auto;height:calc(51vh * var(--row-factor,1) * var(--local-scale) * var(--scale));aspect-ratio:var(--aspect);max-width:85vw;cursor:pointer;position:relative;transition:height .55s cubic-bezier(.22,.68,0,1);scroll-snap-align:center;overflow:hidden}.gallery-tile img{height:100%;width:100%;object-fit:contain;object-position:top center}.gallery-tile:focus-visible{outline-offset:-3px;z-index:3}.row-heading{position:absolute;left:0;top:0;z-index:4;max-width:40%;line-height:1.3;pointer-events:none}.row-heading h2{font-size:.875rem;line-height:1.3;font-weight:var(--font-heading);display:inline;margin:0}.row-heading a,.row-heading button{pointer-events:auto}.row-heading a:hover{color:inherit;background:transparent;text-decoration:underline;text-underline-offset:3px}.row-heading.right-heading{left:auto;right:0;text-align:right}.row-controls{display:flex;gap:2px;opacity:0;transition:opacity .2s}.right-heading .row-controls{justify-content:flex-end}.gallery-row:hover .row-controls,.gallery-row:focus-within .row-controls{opacity:1}.row-controls button{font-size:1rem;min-width:28px;min-height:27px;padding:0 6px;background:transparent}.row-controls a{font-size:.75rem;padding:5px;background:transparent}.row-controls button:hover{background:transparent;text-decoration:underline;text-underline-offset:3px}.row-controls .counter{font-size:.75rem;line-height:27px;background:transparent;padding:0 4px}.gallery>.gallery-row+.gallery-row{margin-top:5mm}.overview .gallery{padding-top:55px}.overview .gallery-row{padding-top:23px;margin-bottom:0}.overview .gallery-tile{height:calc(15vh * var(--local-scale) * var(--scale));min-height:45px;max-width:24vw}.overview .image-rail{gap:3vw;padding:0 5vw}.overview .row-heading,.overview .gallery-row:first-child .row-heading{top:0;left:0;right:auto;text-align:left;max-width:75%}.overview .row-controls{display:none}.archive-footer{display:flex;justify-content:space-between;gap:24px;padding:50px 8px 0;font-size:.75rem;line-height:1.5;color:var(--muted)}.archive-footer p{margin:0}.loading,.error{padding:95px 20px;line-height:1.7}.error h1{font-size:1.25rem}.error button{padding:10px;background:#ddd}
.size-control{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:20;display:flex;align-items:center;gap:0;width:34vw;min-width:250px;opacity:.4;transition:opacity .2s}.size-control:hover,.size-control:focus-within{opacity:1}.size-control button{width:32px;height:32px;background:#ddd;flex-shrink:0;font-size:1.125rem}.size-control input{appearance:none;-webkit-appearance:none;width:100%;min-width:0;height:13px;margin:0;background:#c6c6c6;border-radius:0;cursor:ew-resize}.size-control input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:5px;height:17px;background:#888;border:1px solid #eee;border-radius:0}.size-control input::-moz-range-thumb{width:5px;height:17px;background:#888;border:1px solid #eee;border-radius:0}.preview-note{position:fixed;bottom:5px;left:5px;z-index:21;font-size:.75rem;font-weight:400;background:#e3e3e3;color:#444;line-height:1.5}.preview-note:hover{background:#080808;color:#fff}
dialog{border:0;border-radius:0;color:var(--ink);background:var(--paper);padding:0}dialog::backdrop{background:#ffffffec}.close{min-height:32px;min-width:70px;flex-shrink:0}.close:hover{background:#111;color:#fff}.about-dialog{width:min(750px,calc(100% - 36px));max-height:90dvh;padding:30px 32px 35px;box-shadow:0 0 0 1px #ddd}.about-dialog>.close{position:absolute;right:0;top:0}.about-dialog h1{font-size:clamp(2rem,4.5vw,3.7rem);letter-spacing:-.055em;line-height:1.1;margin:36px 0 18px}.about-dialog h1 span{font-size:1.25rem;letter-spacing:0;font-weight:400;line-height:1.6}.about-caption{font-size:.875rem;margin:0 0 35px}.about-text{font-size:1rem;line-height:1.85;word-break:keep-all;max-width:590px}.about-text p{margin:0 0 20px}.about-guide{font-size:.875rem;line-height:1.6;margin-top:34px}.about-guide>div{display:grid;grid-template-columns:165px 1fr;padding:5px 0}.about-guide dd{margin:0;color:var(--muted)}.source-credit{font-size:.75rem;color:var(--muted);line-height:1.6}.source-credit a{text-decoration:underline}
.detail-page #overview-toggle{visibility:hidden}.detail{padding:44px 0 90px;min-height:100vh}.detail-information{position:fixed;top:45px;left:0;z-index:15;max-height:calc(100dvh - 120px);overflow:auto;width:31vw;max-width:420px;pointer-events:none}.detail-information.right-information{left:auto;right:0;text-align:right}.detail-information>*{pointer-events:auto}.detail-information h1{font-size:.875rem;font-weight:var(--font-heading);line-height:1.45;margin:0}.detail-information h1 button{font-size:.875rem}.detail-copy{font-size:1rem;line-height:1.6;margin-top:4px;padding-bottom:8px;word-break:keep-all}.detail-copy p{margin:0 0 12px}.detail-copy .text-background{background:#d4d4d4;box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:2px 3px}.detail-copy dl{background:#d4d4d4;font-size:.875rem;padding:6px;margin:12px 0}.detail-copy dl>div{display:flex;gap:10px}.detail-copy dd{margin:0}.detail-copy .reference-detail{font-size:.75rem;background:var(--paper);color:#555;padding:5px}.detail .gallery-row:first-of-type .row-heading{top:0}.detail .gallery-row{margin:0}.detail .image-rail{justify-content:space-evenly;padding-left:9vw;padding-right:9vw;gap:5vw;flex-wrap:wrap}.detail .gallery-tile{height:auto;max-width:100%;width:100%;aspect-ratio:auto;flex:none;cursor:zoom-in}.detail .gallery-tile img{width:100%;height:auto;max-height:100vh;object-fit:contain}.detail .gallery-tile+.gallery-tile{margin-top:12px}.detail-next{display:flex;justify-content:space-between;gap:20px;padding:35px 6px 20px;font-size:.875rem}.detail-next a:hover{text-decoration:underline}
.image-dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0}.image-header{display:flex;align-items:flex-start;gap:20px;padding:0;height:42px}.image-header h2{font-size:.875rem;margin:0;flex:1;font-weight:var(--font-heading);max-width:55%}.image-header #image-count{margin-left:auto;white-space:nowrap}.image-stage{position:relative;display:flex;align-items:center;justify-content:center;height:calc(100dvh - 90px);padding:14px 65px}.image-stage>img{width:100%;height:100%;object-fit:contain;user-select:none}.image-arrow{position:absolute;top:calc(50% - 22px);width:44px;height:44px;background:#d4d4d4;font-size:1.25rem}.image-arrow:hover:not(:disabled){background:#111;color:#fff}.previous{left:4px}.next{right:4px}.image-caption{font-size:.75rem;text-align:center;margin:8px 16px;line-height:1.5;color:var(--muted)}
@media(min-width:1600px){.label,.nav-button,.index-menu summary{font-size:1rem}.wordmark,.nav-button{min-height:25px}.site-nav{--nav-line-height:25px}.index-menu{top:50px}.gallery{padding-top:50px}}
@media(max-width:700px){.site-nav{--nav-line-height:26px;grid-template-columns:1fr minmax(max-content,1fr) 1fr}.wordmark{font-size:.8125rem;min-height:26px}.nav-button{font-size:.875rem;min-height:32px}.nav-center .nav-button:first-child{min-height:26px}.index-menu{top:58px;max-width:80vw}.menu-row{padding:6px 0}.menu-link{font-size:.875rem;line-height:1.45}.view-detail{display:inline}.index-menu summary{padding:7px 4px;min-height:35px}.gallery{padding-top:58px}.image-rail{padding:0 9vw;gap:7vw}.gallery-tile{height:calc(43vh * var(--row-factor,1) * var(--local-scale) * var(--scale));max-width:82vw;min-height:70px}.row-heading{max-width:74%}.row-heading .label,.row-heading h2{font-size:.75rem;line-height:1.45}.row-controls{opacity:1;position:absolute;top:22px;left:0}.right-heading .row-controls{left:auto;right:0}.row-controls button{min-width:34px;min-height:34px}.row-controls .counter,.row-controls a{display:none}.gallery-row:first-child .row-heading{top:0}.overview .gallery{padding-top:65px}.overview .gallery-tile{height:calc(12vh * var(--local-scale) * var(--scale));max-width:30vw;min-height:45px}.overview .gallery-row{padding-top:24px;margin-bottom:0}.size-control{bottom:30px;width:54vw;min-width:220px}.size-control button{width:36px;height:35px}.size-control input{height:15px}.preview-note{bottom:6px;left:6px}.archive-footer{display:block;padding-top:30px}.archive-footer p{margin:0 0 8px}.about-dialog{padding:24px;max-height:88dvh}.about-dialog h1{margin-top:38px;letter-spacing:-.04em}.about-text{line-height:1.75}.about-guide>div{grid-template-columns:130px 1fr}.about-guide{font-size:.875rem}.detail{padding-top:64px}.detail-information,.detail-information.right-information{position:static;width:100%;max-width:none;text-align:left;padding:0 14px 25px;max-height:none}.detail-information h1{font-size:1rem}.detail-copy{font-size:1rem;line-height:1.7;max-width:100%}.detail .image-rail{padding:0 14px}.detail-next{padding:30px 12px 15px;line-height:1.5}.image-header{gap:5px;height:60px}.image-header h2{font-size:.8125rem;line-height:1.4;max-width:50%}.image-header #image-count{font-size:.75rem}.close{min-height:36px;min-width:65px;font-size:.8125rem}.image-stage{height:calc(100dvh - 120px);padding:5px 12px 46px}.image-arrow{top:auto;bottom:0}.previous{left:calc(50% - 52px)}.next{right:calc(50% - 52px)}.image-caption{margin-top:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.site-nav,.index-menu,.size-control,.preview-note,dialog,.row-controls{display:none!important}.gallery{padding-top:0}.gallery-row{break-inside:avoid}.gallery-tile{height:180px}.detail-information{position:static;width:100%}}

/* Photo overlap affects text only; archive controls never add a label background. */
:is(.site-nav .label,.index-menu .menu-link,.index-menu summary,.category-controls button,.row-heading .label,.row-controls>*,.detail-information .label){background:transparent;color:var(--ink);transition:color .12s ease}
:is(.site-nav .label,.index-menu .menu-link,.index-menu summary,.category-controls button,.row-heading .label,.row-controls>*,.detail-information .label).over-artwork{color:#d4d4d4}
@media(prefers-reduced-motion:reduce){.over-artwork{transition:none}}
