@font-face{font-family:'AQ DIN';src:url('../fonts/D-DIN.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'AQ DIN';src:url('../fonts/D-DIN-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{font-family:'AQ DIN',Bahnschrift,'DIN Alternate',Arial,'Yu Gothic',Meiryo,sans-serif;color:#fff;background:#252525;font-synthesis:none;--columns:3;--rail:56px;--edge:clamp(20px,4vw,48px)}
*{box-sizing:border-box}html{scroll-padding-top:140px;scroll-padding-bottom:150px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.28;cursor:default}a:focus-visible,button:focus-visible{outline:2px solid #fff;outline-offset:-3px}[hidden]{display:none!important}
.home-header{position:fixed;inset:0 0 auto var(--rail);z-index:10;padding:calc(clamp(16px,2vw,24px) + env(safe-area-inset-top)) max(var(--edge),env(safe-area-inset-right)) 0 max(var(--edge),env(safe-area-inset-left));display:flex;align-items:flex-start;justify-content:space-between;gap:12px;pointer-events:none;background:none;color:#fff;}.home-title{min-width:0}h1{font-size:clamp(18px,4.6vw,36px);font-weight:400;letter-spacing:-.035em;line-height:1.01;margin:0;white-space:nowrap}.grid-controls{display:flex;flex-shrink:0;gap:0;pointer-events:auto;margin-top:-12px}.grid-controls button,.photo-credit{display:grid;place-items:center;width:36px;min-height:44px;border:0;border-radius:0;background:none;color:#fff}.grid-controls svg,.photo-credit svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;}
main{padding:0;margin-left:var(--rail)}.photo-grid{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:2px;touch-action:pan-y;overflow-anchor:none}.photo-tile{display:block;position:relative;aspect-ratio:1;min-width:0;overflow:hidden;padding:0;border:0;border-radius:0;background:#444941;color:#fff;text-align:left;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;container-type:inline-size}.photo-tile img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}.photo-name{position:absolute;inset:auto 0 0;padding:6px;font-family:Arial,'Yu Gothic',Meiryo,sans-serif;font-size:10px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:none;pointer-events:none}.photo-country{position:absolute;inset:0;display:none;place-items:center;text-align:center;padding:16% 6px;font-size:clamp(9px,min(42cqw,calc((100cqw - 12px)/var(--country-width,6))),96px);font-weight:700;font-synthesis:none;line-height:.98;letter-spacing:-.035em;text-transform:uppercase;text-wrap:balance;color:var(--country-color,#fff);pointer-events:none}.photo-tile[aria-pressed=true] .photo-country{display:grid}.photo-status{font-size:14px;line-height:1.8;padding:160px 20px 40px;text-align:center}
.home-footer{position:fixed;inset:auto 0 0 var(--rail);z-index:20;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:0;padding:0 max(var(--edge),env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(var(--edge),env(safe-area-inset-left));pointer-events:none;background:none;color:#fff;}.selection-summary{display:flex;align-items:center;gap:16px;min-width:0;min-height:36px;white-space:nowrap;pointer-events:none}#selected-count{font-size:11px;letter-spacing:.035em}#photo-reset{min-height:44px;padding:0;border:0;border-radius:0;background:none;font-size:11px;color:inherit;pointer-events:auto}.photo-credit{width:32px;pointer-events:auto}.photo-credit svg{width:17px;height:17px}.home-start{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px;padding:0;background:none;color:#fff;font-size:clamp(48px,6.5vw,96px);font-weight:400;line-height:1;letter-spacing:-.035em;pointer-events:auto}.home-start svg{width:clamp(28px,4vw,50px);height:clamp(28px,4vw,50px);fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;}.home-start:hover{opacity:.8}.no-script{position:fixed;top:150px;left:calc(var(--rail) + var(--edge));right:var(--edge);font-size:13px;line-height:1.8;}
@media(min-width:700px){:root{--columns:6}.photo-name{font-size:11px;padding:9px}.grid-controls button{width:44px}}
@media(min-width:1100px){:root{--columns:9}}
@media(max-height:650px){.home-header{padding-top:calc(18px + env(safe-area-inset-top))}.home-start{min-height:64px;font-size:46px}.home-footer{padding-bottom:max(16px,env(safe-area-inset-bottom))}}
@media(max-width:350px){.grid-controls button{width:32px}.home-header{gap:8px}h1{font-size:14px}}

.home-rail{position:fixed;inset:0 auto 0 0;width:var(--rail);display:flex;align-items:center;flex-direction:column;gap:12px;padding:calc(20px + env(safe-area-inset-top)) 0 calc(20px + env(safe-area-inset-bottom));z-index:50;background:#fafaf7;color:#202320;overflow-y:auto;overscroll-behavior:contain}.home-rail :is(a,button){display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;font-size:13px}.home-rail :is(a,button):focus-visible{outline-color:#202320}.home-rail :is(a,button):hover{opacity:.65}.home-rail svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linejoin:round;stroke-linecap:round}.home-license{margin-top:auto}
@media(max-width:699px){h1{font-size:clamp(12px,4vw,22px)}.home-header{gap:8px}}
@media(max-width:350px){:root{--edge:10px}.home-header{padding-top:calc(12px + env(safe-area-inset-top))}}
.photo-grid[data-columns="5"] .photo-name{display:none}
.photo-wall{position:relative;overflow-anchor:none}#photo-clusters{position:absolute;inset:0;pointer-events:none;z-index:5;overflow:hidden}.photo-cluster{position:absolute;pointer-events:none;color:var(--country-color);container-type:inline-size}.photo-cluster svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linejoin:miter}.photo-cluster-label{position:absolute;display:grid;place-items:center;padding:0 6px;text-align:center;line-height:1;letter-spacing:-.025em;text-transform:uppercase;white-space:nowrap;font-weight:700;font-synthesis:none;pointer-events:none}.photo-tile[data-clustered="true"] .photo-country{display:none}

.photo-tile::after{content:'';position:absolute;inset:0;pointer-events:none;background:var(--country-wash);opacity:0}.photo-tile[data-group-settled=true]::after{opacity:1}.photo-name,.photo-country{z-index:1}

.home-rail button{padding:0;border:0;background:none;color:inherit}
