:root{--bg:#fbf9f4;--ink:#2a2926;--ink-soft:#6f6b63;--line:#ebe6dc;--card:#fff;--glass-strong:#6e6c68a8;--accent:#f08a3c;--shadow:0 24px 60px #3c321e2e;--radius:28px;--font:ui-rounded, "SF Pro Rounded", "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0}html{overscroll-behavior:none}html.map-mode{scrollbar-width:none;overflow:hidden}html.map-mode::-webkit-scrollbar{display:none}body.dragging,body.dragging *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}button{font:inherit;color:inherit}.topbar{z-index:20;pointer-events:none;justify-content:space-between;align-items:flex-start;gap:16px;width:100vw;padding:14px 28px 24px;display:flex;position:fixed;inset:0 auto auto 0}.topbar>*{pointer-events:auto}.left{flex:0 0 544px;align-items:center;gap:10px;display:flex}.help-btn{width:44px;height:44px;color:var(--ink);background:#d6d4d0ad;flex:0 0 44px;place-items:center;font-size:22px;font-weight:700;line-height:1;text-decoration:none;transition:background-color .15s;display:grid}.help-btn:hover{background:#c8c5c0d9}.glass{-webkit-backdrop-filter:blur(16px)saturate(1.3);border:0;border-radius:999px}.search{width:min(280px,60vw);height:44px;color:var(--ink);background:#d6d4d0ad;align-items:center;gap:10px;padding:0 18px;font-size:16px;display:flex}.search:focus-within{box-shadow:inset 0 0 0 1.5px #2a29264d}.search input{min-width:0;color:inherit;font:inherit;background:0 0;border:0;outline:0;flex:1}.search input::placeholder{color:#2a2926a6}.search input::-webkit-search-cancel-button{appearance:none;display:none}.search kbd{font:12px var(--mono);opacity:.7;border:1px solid #2a292666;border-radius:6px;padding:1px 6px}.results{height:44px;font:inherit;color:#fff;white-space:nowrap;cursor:pointer;background:#4a4845b8;flex-shrink:0;align-items:center;gap:8px;padding:0 18px;font-size:16px;transition:background-color .15s;display:flex}.results .sep{opacity:.6}.results .clear{color:#ffffffbf}.pills{grid-template-columns:repeat(5,max-content);justify-content:end;gap:6px;max-width:62vw;margin-top:7px;display:grid}.pill{cursor:pointer;background:var(--c,#e9e5dc);color:#3b3832;white-space:nowrap;border:0;border-radius:999px;justify-self:start;align-items:center;height:30px;padding:0 13px;font-size:15px;transition:box-shadow .15s;display:inline-flex}.pill[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--ink)}.map{--cell:230px;touch-action:none;cursor:grab;position:fixed;inset:0;overflow:hidden}.map-layer{will-change:transform;position:absolute;top:0;left:0}.map .cell{position:absolute;top:0;left:0}.canvas{--cell:230px;padding:120px 80px 150px;overflow-x:clip}.grid{grid-template-columns:repeat(var(--cols,8), var(--cell));grid-auto-rows:var(--cell);justify-content:center;gap:8px;display:grid}.tile{color:inherit;width:var(--cell);height:var(--cell);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;outline:none;padding:0;text-decoration:none;display:block;position:relative}.tile img{object-fit:contain;opacity:0;filter:drop-shadow(0 22px 18px #46371e2e);width:66%;height:66%;margin:auto;transition:transform .25s cubic-bezier(.2,.8,.3,1.3);position:absolute;inset:0}.tile img.loaded{opacity:1}.tile img.pop{animation:pop-scale var(--spring-duration,.5s) var(--spring,cubic-bezier(.3, 1.4, .5, 1)) backwards, pop-fade .3s cubic-bezier(.25, .1, .35, 1) backwards;animation-delay:var(--delay,0s)}@keyframes pop-scale{0%{transform:scale(.1)}to{transform:scale(1)}}@keyframes pop-fade{0%{opacity:0}to{opacity:1}}.tile.boxed img{object-fit:cover;filter:none;border-radius:24px;width:70%;height:70%;box-shadow:0 12px 26px #281e1429}.tile:focus-visible img.loaded{transform:scale(1.08)}.tile .label{color:#fff;white-space:nowrap;text-overflow:ellipsis;opacity:0;pointer-events:none;background:#2a2926d1;border-radius:999px;max-width:92%;padding:5px 12px;font-size:13px;transition:opacity .15s,transform .15s;position:absolute;bottom:4%;left:50%;overflow:hidden;transform:translate(-50%,6px)}.tile:focus-visible .label{opacity:1;transform:translate(-50%)}.empty{color:var(--ink-soft);pointer-events:none;place-items:center;font-size:20px;display:none;position:fixed;inset:0}.empty.show{display:grid}.credit{z-index:19;color:var(--ink-soft);background:#fbf9f4cc;border-radius:999px;padding:4px 10px;font-size:12px;position:fixed;bottom:18px;right:20px}.credit a{color:inherit}.source{flex-direction:column;gap:4px;display:flex}.source h2{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 2px;font-size:13px;font-weight:600}.source .license{margin:0}.help-link{color:var(--ink-soft);margin:0;font-size:14px}.help-link a{color:inherit}.maker{color:var(--ink-soft);margin:28px 0 0;font-size:13px}.maker a{color:inherit}.mountain{vertical-align:-.05em;background:currentColor;width:1.6em;height:.86em;margin:0 .3em 0 .1em;display:inline-block;-webkit-mask:url(/mountain.png) 50%/contain no-repeat;mask:url(/mountain.png) 50%/contain no-repeat}.help{max-width:760px;margin:0 auto;padding:96px 28px 72px}.help h1{letter-spacing:-.01em;margin:0 0 12px;font-size:clamp(36px,5vw,52px);line-height:1.05}.help section{margin-top:56px;scroll-margin-top:24px}.help h2{letter-spacing:-.005em;margin:0 0 16px;font-size:28px}.help h3{margin:24px 0 6px;font-size:17px}.help p,.help li{color:#3b3832;font-size:17px;line-height:1.6}.help p{margin:0 0 12px}.help ol,.help ul{margin:0 0 20px;padding-left:22px}.help li{margin:6px 0}.help a{color:inherit}.help .note{color:var(--ink-soft);font-size:15px}.help .actions{margin-top:48px}.shot{margin:20px 0}.shot img{border:1px solid #2a29261a;border-radius:14px;width:100%;height:auto;display:block}.shot.narrow img{max-width:420px}.shot.small img{max-width:260px}.credit-example{background:#f1ede5;border-radius:8px;width:fit-content;margin:8px 0 8px 22px;padding:4px 12px;font-size:15px;display:block}html.page-open{overflow:hidden}.page{z-index:40;background:var(--bg);position:fixed;inset:0;overflow:auto}.page-close{position:fixed;top:24px;right:28px}.close.page-close{background:var(--glass-strong);color:#fff;-webkit-backdrop-filter:blur(14px);width:44px;height:44px;transition:transform .15s}.close.page-close:hover{background:#3c3a37c7}.asset{grid-template-columns:1fr 1fr;align-items:center;gap:56px;max-width:1240px;min-height:100vh;margin:0 auto;padding:96px 56px;display:grid}.asset-image{align-self:stretch;height:max(420px,100vh - 192px)}.stage{width:100%;height:100%;position:relative}.stage img{object-fit:contain;filter:drop-shadow(0 30px 26px #3c2d142e);width:100%;max-width:560px;height:100%;max-height:560px;margin:auto;transition:opacity .6s;position:absolute;inset:0}.stage.boxed img{filter:none;border-radius:28px;box-shadow:0 18px 36px #281e1433}.stage.model-ready img{opacity:0;pointer-events:none;visibility:hidden;filter:none;transition:opacity .6s,visibility 0s .6s,filter 0s .6s}.shimmer{pointer-events:none;width:100%;max-width:560px;height:100%;max-height:560px;-webkit-mask:var(--mask) center / contain no-repeat;-webkit-mask:var(--mask) center / contain no-repeat;mask:var(--mask) center / contain no-repeat;background:linear-gradient(105deg,#0000 35%,#fff9 50%,#0000 65%) 0 0/300% 100%;margin:auto;transition:opacity .4s;animation:1.6s ease-in-out infinite skeleton-sweep;position:absolute;inset:0}.stage.model-ready .shimmer{opacity:0;animation:none}@keyframes skeleton-sweep{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.shimmer{opacity:0;animation:none}}.viewer{opacity:0;transition:opacity .6s;position:absolute;inset:0}.viewer.ready{opacity:1}.viewer canvas{cursor:grab;touch-action:none;outline:none;width:100%;height:100%;display:block}.viewer canvas:active{cursor:grabbing}.viewer-status{color:#fff;white-space:nowrap;pointer-events:none;background:#2a2926c7;border-radius:999px;padding:6px 14px;font-size:13px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.viewer-status.hint{background:#2a29268c;animation:4s 1.5s forwards hint-fade;bottom:64px}@keyframes hint-fade{to{opacity:0}}.viewer-tools{z-index:2;gap:8px;display:flex;position:absolute;bottom:8px;right:8px}.snap{height:44px;font:inherit;white-space:nowrap;background:var(--glass-strong);color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(14px);border:0;border-radius:999px;align-items:center;gap:7px;padding:0 16px 0 13px;font-size:14px;transition:transform .15s,opacity .15s;animation:.3s backwards pop-fade;display:inline-flex}.snap:disabled{opacity:.5;cursor:progress}.snap svg{display:block}.asset-info{overflow-wrap:anywhere;flex-direction:column;gap:20px;min-width:0;display:flex}.asset-info h1,.notfound h1{letter-spacing:-.01em;margin:0;font-size:clamp(36px,5vw,56px);line-height:1.05}.lead{color:#3b3832;margin:0;font-size:19px;line-height:1.6}.license{color:var(--ink-soft);flex-wrap:wrap;gap:4px 0;margin:-4px 0 0;font-size:14px;display:flex}.license span+span:before{content:"·";margin:0 8px}.license a{color:inherit}.notfound{flex-direction:column;justify-content:center;gap:20px;max-width:620px;min-height:100vh;margin:0 auto;padding:96px 28px;display:flex}.close{z-index:2;cursor:pointer;width:40px;height:40px;color:var(--ink);background:#f1ede5;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.close svg{display:block}.tags{flex-wrap:wrap;gap:6px;display:flex}.tag{color:#47433b;cursor:pointer;background:#f1ede5;border:0;border-radius:999px;padding:4px 12px;font-size:14px;box-shadow:inset 0 0 0 1.5px #bdb6a8}.actions{flex-wrap:wrap;gap:12px;display:flex}.btn{cursor:pointer;color:var(--ink);background:#f1ede5;border:0;border-radius:999px;padding:11px 18px;font-size:15px;text-decoration:none}.btn.dark{background:var(--ink);color:#fff;padding:10px 24px;font-size:16px}.btn:disabled{opacity:.6;cursor:progress}@media (hover:hover) and (pointer:fine){.results:hover{background-color:#3c3a37c7}.results:hover .clear{color:#fff}.pill:hover{box-shadow:inset 0 0 0 2px var(--ink)}.tile:hover img.loaded{transform:scale(1.08)}.tile:hover .label{opacity:1;transform:translate(-50%)}.close:hover,.tag:hover,.btn:hover{background:#e7e1d5}.btn.dark:hover{background:#000}.snap:hover:not(:disabled){background:#3c3a37c7}}@media (hover:none){.tile img.pop{animation:.3s cubic-bezier(.25,.1,.35,1) backwards pop-fade;animation-delay:var(--delay,0s)}}@media (width<=1200px){.topbar{flex-direction:column;gap:10px}.left{flex:initial;width:100%}.pills{overscroll-behavior-x:contain;scrollbar-width:none;grid-template-rows:repeat(2,auto);grid-template-columns:none;grid-auto-columns:max-content;grid-auto-flow:column;justify-content:start;width:100%;max-width:100%;margin-top:0;padding-bottom:4px;overflow-x:auto}.canvas{padding-top:150px}}@media (width<=760px){.topbar{padding:8px 16px 16px}.search{flex:1;width:auto;min-width:0;height:44px;font-size:16px}.results{padding:0 14px;font-size:14px}.search kbd{display:none}.pill{height:34px;padding:0 12px;font-size:14px}.canvas{--cell:150px;padding:154px 24px 120px}.map{--cell:150px}.tile .label{opacity:1;font-size:11px;transform:translate(-50%)}.map .tile .label{display:none}.credit{bottom:16px;right:12px}.credit-sources{display:none}.page-close{top:16px;right:16px}.asset{grid-template-columns:1fr;gap:28px;min-height:0;padding:72px 20px 40px}.asset-image{height:60dvh}.lead{font-size:17px}.help{padding:72px 20px 48px}.help section{margin-top:44px}.actions{justify-content:space-between}}@media (width<=520px){.pills{padding-right:24px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000)}}@media (width<=360px){.search{padding:0 14px}.results{gap:5px;padding:0 10px;font-size:13px}}
