:root{--header-h:64px;--tile-size:160px;--bond-color:rgba(227,192,97,0.9)}body{margin:0;overflow:hidden;background:#111;font-family:system-ui,-apple-system,sans-serif;user-select:none;-webkit-user-select:none}#yp-viewport{position:fixed;top:var(--header-h);left:0;right:0;bottom:0;overflow:hidden;cursor:grab;touch-action:none;z-index:0}#yp-viewport.panning{cursor:grabbing}#yp-canvas{position:absolute;top:0;left:0;width:3200px;height:2600px;will-change:transform;transform-origin:0 0}#yp-bird-cursor{display:none;position:absolute;top:0;left:0;transform-origin:center center;pointer-events:none;z-index:9000;translate:-20px -20px;opacity:0.85;filter:drop-shadow(0 0 6px rgba(227,192,97,0.6))}#yp-bird-cursor svg circle{stroke:#e3c061}#yp-bird-cursor svg line{stroke:#e3c061}#yp-bird-cursor span{position:absolute;top:44px;left:50%;transform:translateX(-50%);color:#e3c061;font-family:monospace;font-size:11px;letter-spacing:0.1em;white-space:nowrap;text-shadow:0 0 8px rgba(0,0,0,0.8)}#yp-canvas.bird-transition{transition:transform 0.38s cubic-bezier(0.4,0,0.2,1)}#yp-canvas.bond-moment{filter:brightness(0.45);transition:filter 0.25s ease}.yp-tile{position:absolute;width:var(--tile-size);height:var(--tile-size);cursor:grab;will-change:transform;transform-origin:center center;border-radius:2px;box-shadow:2px 5px 14px rgba(0,0,0,0.55);transition:box-shadow 0.2s ease,filter 0.2s ease}.yp-tile img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;border-radius:2px;background:#e8e0c4}.yp-tile:hover{z-index:10;box-shadow:4px 10px 28px rgba(0,0,0,0.75);filter:brightness(1.06)}.yp-tile.held{z-index:1000;cursor:grabbing;box-shadow:8px 18px 48px rgba(0,0,0,0.85);filter:brightness(1.1);transition:none}.yp-tile.bonded{box-shadow:0 0 0 2px var(--bond-color),2px 5px 14px rgba(0,0,0,0.55);z-index:5}#yp-canvas.bond-moment .yp-tile.bonded{filter:brightness(2);transition:filter 0.25s ease}@keyframes yp-bond-pulse{0%{box-shadow:0 0 0 2px var(--bond-color),0 0 0 0px rgba(227,192,97,0)}45%{box-shadow:0 0 0 2px var(--bond-color),0 0 28px 10px rgba(227,192,97,0.45)}100%{box-shadow:0 0 0 2px var(--bond-color),0 0 0 0px rgba(227,192,97,0)}}.yp-tile.bond-flash{animation:yp-bond-pulse 0.65s ease-out forwards}#yp-hud{position:fixed;bottom:56px;right:24px;z-index:500;background:rgba(0,0,0,0.55);color:rgba(255,255,255,0.65);font-family:monospace;font-size:11px;letter-spacing:0.08em;padding:6px 14px;border-radius:20px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);pointer-events:none;display:none}#yp-hint{position:fixed;bottom:60px;left:50%;transform:translateX(-50%);z-index:500;color:rgba(255,255,255,0.28);font-size:11px;letter-spacing:0.12em;pointer-events:none;font-family:monospace;white-space:nowrap;animation:yp-hint-fade 5s ease-out 1.5s forwards}@keyframes yp-hint-fade{0%{opacity:1}100%{opacity:0}}#yp-overview{position:fixed;bottom:56px;right:70px;z-index:500;background:rgba(0,0,0,0.55);color:rgba(255,255,255,0.45);border:1px solid rgba(255,255,255,0.08);border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:color 0.2s ease,background 0.2s ease,border-color 0.2s ease}#yp-overview:hover{color:rgba(255,255,255,0.8);background:rgba(0,0,0,0.75);border-color:rgba(255,255,255,0.18)}#yp-overview.active{color:#e3c061;border-color:rgba(227,192,97,0.35);background:rgba(0,0,0,0.7)}@media (max-width:599px){:root{--tile-size:110px}#yp-hint{font-size:10px;bottom:58px}#yp-hud{bottom:54px;right:16px}}.yp-secret{position:absolute;width:var(--tile-size);height:var(--tile-size);border-radius:6px;cursor:pointer;transform-origin:center center;box-shadow:var(--yp-glow,0 0 16px 4px rgba(227,192,97,0.35));animation:yp-secret-pulse 3.2s ease-in-out infinite}.yp-secret img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;border-radius:6px;filter:saturate(1.15) brightness(1.05)}.yp-secret.claimed{transition:transform 0.55s cubic-bezier(.2,.8,.2,1),opacity 0.55s ease;transform:scale(0.2) !important;opacity:0}@keyframes yp-secret-pulse{0%,100%{box-shadow:var(--yp-glow-dim,0 0 10px 2px rgba(227,192,97,0.2))}50%{box-shadow:var(--yp-glow,0 0 26px 8px rgba(227,192,97,0.55))}}.yp-reveal{position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity 0.4s ease;cursor:pointer}.yp-reveal.show{opacity:1}.yp-reveal-card{width:min(78vw,300px);padding:18px 18px 16px;border-radius:16px;background:linear-gradient(160deg,#15130c,#0a0a0a);border:1px solid #3a2a00;box-shadow:0 24px 80px rgba(0,0,0,0.7),0 0 0 1px rgba(227,192,97,0.08);text-align:center;transform:translateY(16px) scale(0.96);transition:transform 0.45s cubic-bezier(.2,.9,.2,1)}.yp-reveal.show .yp-reveal-card{transform:translateY(0) scale(1)}.yp-reveal-banner{display:inline-block;font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:10px;letter-spacing:0.32em;color:#1a1400;background:#e9b800;padding:4px 12px;border-radius:999px;margin-bottom:14px}.yp-reveal-img{width:100%;aspect-ratio:1 / 1;border-radius:10px;overflow:hidden;background:#e8e0c4;box-shadow:inset 0 0 0 1px rgba(227,192,97,0.15)}.yp-reveal-img img{width:100%;height:100%;object-fit:contain;display:block}.yp-reveal-meta{display:flex;align-items:baseline;justify-content:center;gap:8px;margin-top:12px}.yp-reveal-num{font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:11px;color:#c99700;letter-spacing:0.1em}.yp-reveal-title{font-size:15px;color:#f3e9c8;font-weight:600}.yp-reveal-hint{margin-top:10px;font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:10.5px;color:#7a7256;letter-spacing:0.04em}#site-footer .site-footer{position:fixed;left:0;right:0;bottom:0;z-index:400;background:rgba(17,17,17,0.72);border-top:1px solid rgba(255,255,255,0.08);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:rgba(255,255,255,0.5)}#site-footer .footer-inner{padding:9px 18px}#site-footer .footer-copy{font-size:12px}#site-footer .footer-links a:hover,#site-footer .footer-social a:hover{color:#fff}@media (max-width:700px){#site-footer .footer-inner{grid-template-columns:1fr auto 1fr;gap:8px}#site-footer .footer-links,#site-footer .footer-social{font-size:11px}}