:root{--ink:#163644;--muted:#5e6f76;--line:#dce3e5;--paper:#f6f8f8;--accent:#187b79;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #e7a84e;outline-offset:4px}.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:white;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:750;letter-spacing:.06em;line-height:1.2}.brand small{display:block;font-size:12px;font-weight:500;margin-bottom:5px}.brand-mark{background:var(--ink);color:white;font-size:27px;display:grid;place-items:center;width:51px;height:51px;border-radius:4px}.home-link{font-size:14px}.home-link span{margin-left:12px}main{max-width:1480px;margin:auto;padding:0 5vw}.intro{display:flex;align-items:center;justify-content:space-between;padding:54px 0 39px;gap:20px}.eyebrow{font-size:13px;letter-spacing:.16em;color:var(--accent);font-weight:700;margin:0 0 13px}h1{font-size:clamp(27px,2.7vw,42px);line-height:1.5;letter-spacing:.04em;margin:0 0 12px;font-weight:650}.intro p:not(.eyebrow){margin:0;color:var(--muted);font-size:15px}.intro-count{display:flex;flex-direction:column;align-items:flex-end;white-space:nowrap;padding-left:24px;border-left:1px solid var(--line)}.intro-count strong{font-size:47px;font-weight:450;line-height:1.3;letter-spacing:-.04em}.intro-count span{font-size:13px;color:var(--muted)}.mobile{display:none}.categories{display:flex;flex-wrap:wrap;gap:9px;padding-bottom:30px;border-bottom:1px solid var(--line)}.category{background:white;color:var(--ink);border:1px solid #d2dddf;border-radius:4px;padding:10px 17px;font-size:14px;transition:.2s}.category span{margin-left:9px;font-size:12px;color:var(--muted)}.category[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.category[aria-pressed=true] span{color:#bbd4db}.category:hover{border-color:var(--accent)}.results-header{display:flex;justify-content:space-between;align-items:center;margin:26px 0 18px;gap:15px}.results-header h2{font-size:19px;font-weight:650;margin:0}.results-header p{font-size:13px;color:var(--muted);margin:0}.works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px 23px}.work{border:0;background:white;padding:0;display:block;width:100%;text-align:left;color:inherit;box-shadow:0 2px 5px #122f3d05;border-radius:5px;overflow:hidden}.cover{position:relative;background:#e5eaec;aspect-ratio:4/3;overflow:hidden}.cover img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.work:hover .cover img{transform:scale(1.035)}.cover .photo-num{position:absolute;bottom:11px;right:11px;color:white;background:#123341cf;font-size:12px;padding:3px 9px;border-radius:3px}.work-body{padding:19px 20px 18px}.work-cat{font-size:12px;color:var(--accent);font-weight:600;letter-spacing:.04em}.work h3{font-size:18px;margin:6px 0 2px;line-height:1.5}.work-desc{font-size:13px;color:var(--muted);margin:4px 0 12px;min-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-bottom{border-top:1px solid #edf0f1;padding-top:12px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}.work-bottom .arrow{font-size:19px;color:var(--accent)}.more{display:block;margin:36px auto 0;padding:12px 55px;color:var(--ink);border:1px solid #bcccd1;border-radius:4px;background:white}.more[hidden]{display:none}.data-note{font-size:12px;line-height:1.8;color:var(--muted);margin:35px 0 45px}footer{border-top:1px solid var(--line);padding:33px 5vw;background:white;font-size:13px;color:var(--muted)}footer .footer-brand{font-size:18px;color:var(--ink);font-weight:650}footer p{margin:6px 0 15px}dialog{padding:0;border:0;border-radius:8px;width:min(1120px,94vw);max-height:92dvh;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#071c29c7;backdrop-filter:blur(4px)}body:has(dialog[open]){overflow:hidden}.dialog-toolbar{position:sticky;top:0;z-index:2;background:white;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 25px;font-size:14px}.close{border:0;background:transparent;color:inherit;padding:9px;font-size:14px}#detail-content{padding:30px}.detail-category{color:var(--accent);font-size:14px;margin:0}.detail-title{font-size:29px;line-height:1.5;margin:5px 0 8px}.detail-desc{margin:0 0 22px;color:var(--muted);font-size:15px}.stage-section{margin-top:26px}.stage-heading{font-size:18px;margin:0 0 14px;display:flex;align-items:center;gap:10px}.stage-heading:before{content:"";width:3px;height:20px;background:var(--accent)}.stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.photo-button{border:0;padding:0;background:#e7ecee;overflow:hidden;border-radius:4px;display:block;width:100%;aspect-ratio:4/3}.photo-button img{width:100%;height:100%;object-fit:contain}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.comparison figure{margin:0}.comparison figcaption{margin-bottom:8px;font-size:15px;font-weight:600}.comparison .photo-button{background:#e4e9eb}.comparison figcaption span{font-size:11px;color:var(--muted);margin-left:9px}.detail-source{display:inline-block;font-size:13px;color:var(--muted);margin-top:30px;text-decoration:underline}.stage-note{font-size:13px;color:var(--muted);margin:15px 0}#viewer{width:min(1300px,98vw);height:95dvh;max-height:95dvh;background:#0d1f29;color:white;overflow:hidden}#viewer[open]{display:flex;flex-direction:column}.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;font-size:14px;gap:15px}#viewer-image{width:100%;height:calc(95dvh - 145px);object-fit:contain;min-height:0;flex:1}.viewer-controls{display:flex;justify-content:space-between;align-items:center;padding:15px;gap:12px;font-size:14px}.viewer-controls button{background:transparent;color:white;border:1px solid #5b707b;padding:9px 15px;border-radius:4px}.viewer-controls button:disabled{opacity:.35;cursor:default}@media(min-width:1450px){main{padding:0 60px}}@media(max-width:950px){.works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intro-count{display:none}.stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intro{padding-top:35px}h1{font-size:31px}}@media(max-width:580px){.site-header{height:77px;padding:0 20px}.brand{font-size:20px;gap:9px}.brand-mark{width:40px;height:43px;font-size:23px}.home-link{font-size:12px}.home-link span{margin-left:1px}main{padding:0 20px}.intro{padding:30px 0 24px}.mobile{display:block}h1{font-size:29px;line-height:1.55}.intro p:not(.eyebrow){font-size:14px;max-width:290px}.eyebrow{font-size:12px}.categories{gap:7px;padding-bottom:22px}.category{padding:8px 11px;font-size:13px}.category span{margin-left:5px}.results-header{margin-top:23px}.results-header h2{font-size:17px}.works-grid{grid-template-columns:1fr;gap:22px}.cover{aspect-ratio:4/3}.work-body{padding:17px 18px}.work h3{font-size:20px}.work-desc{font-size:14px}.work-bottom{font-size:13px}dialog{width:96vw;max-height:95dvh;border-radius:6px}.dialog-toolbar{padding:9px 13px}#detail-content{padding:20px 15px}.detail-title{font-size:24px}.comparison{gap:10px}.comparison .photo-button{aspect-ratio:3/4}.comparison figcaption span{display:block;margin:0}.stage-grid{gap:9px}.stage-heading{font-size:17px}.viewer-toolbar{font-size:12px}.viewer-controls{padding:12px 8px;font-size:12px}.viewer-controls button{padding:10px;font-size:12px}.data-note{font-size:12px}}
[hidden]{display:none!important}.admin-link{margin-left:auto;margin-right:24px;font-size:14px;color:var(--accent);border:1px solid var(--line);padding:8px 12px;border-radius:4px}.cover video{width:100%;height:100%;object-fit:cover}.video-label{position:absolute;left:12px;bottom:12px;background:#143848dd;color:white;padding:3px 8px;font-size:12px;border-radius:3px}.media-figure{margin:0;min-width:0}.media-figure figcaption{font-size:14px;color:var(--muted);white-space:pre-wrap;margin:7px 0 0;overflow-wrap:anywhere}.gallery-video{width:100%;aspect-ratio:4/3;background:#122732;display:block;border-radius:4px}.detail-desc{white-space:pre-wrap;overflow-wrap:anywhere}#viewer-video{width:100%;height:calc(95dvh - 145px);object-fit:contain;min-height:0;flex:1}@media(max-width:580px){.admin-link{font-size:12px;margin-right:10px;padding:6px}.site-header:has(.admin-link:not([hidden])) .home-link{display:none}}

.brand-mark.has-mascot{width:64px;height:64px;background:transparent;border-radius:0;overflow:hidden;flex-shrink:0}.brand-mark.has-mascot img{display:block;width:100%;height:100%;object-fit:contain;transform:scale(1.35)}@media(max-width:580px){.brand-mark.has-mascot{width:50px;height:50px}}
