@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&display=swap";:root{color:#292521;background:#e9e0d6;font-family:Outfit,ui-sans-serif,system-ui,sans-serif;font-synthesis:none;text-rendering:geometricPrecision}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%}body{margin:0;overflow-x:hidden;background:linear-gradient(rgba(48,42,36,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(48,42,36,.05) 1px,transparent 1px),radial-gradient(circle at 22% 12%,rgba(151,82,87,.16),transparent 34rem),radial-gradient(circle at 82% 72%,rgba(79,92,72,.14),transparent 32rem),#e9e0d6;background-size:38px 38px,38px 38px,auto,auto,auto}body:after{position:fixed;inset:0;pointer-events:none;content:"";opacity:.07;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E")}button{border:0;font:inherit;cursor:pointer}.app-shell{position:relative;min-height:100dvh;padding:18px}.topbar{position:fixed;top:18px;left:18px;right:18px;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:18px;pointer-events:none}.topbar>div{pointer-events:auto}.topbar span{display:block;color:#2f2a26;font-size:clamp(1.6rem,4vw,3rem);font-weight:700;line-height:.9;letter-spacing:0}.topbar small{display:block;margin-top:7px;color:#2f2a2685;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.controls{display:flex;gap:8px;padding:6px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:#faf6f0a3;box-shadow:inset 0 1px #ffffff7a,0 18px 44px #392d251f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.controls button,.float-zoom,.close-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;color:#2f2a26;border-radius:999px;background:#fffcf8bd;transition:transform .18s ease,background .18s ease}.controls button{padding:0 14px}.controls button:hover,.float-zoom:hover,.close-button:hover{background:#fffaf5}.controls button:active,.float-zoom:active,.close-button:active{transform:translateY(1px) scale(.98)}.board{position:relative;min-height:max(100dvh,940px);overflow:hidden;border:1px solid rgba(70,58,48,.1);border-radius:8px;background:radial-gradient(circle at 50% 42%,rgba(255,250,244,.58),transparent 36rem),#fffcf72e;box-shadow:inset 0 1px #ffffff59}.board-mark{position:absolute;z-index:1;color:#2f2a2647;font-size:clamp(4rem,13vw,12rem);font-weight:700;line-height:.8;letter-spacing:0;-webkit-user-select:none;user-select:none}.board-mark.top-left{top:110px;left:4vw}.board-mark.bottom-right{right:4vw;bottom:60px}.photo-card{position:absolute;left:var(--x);top:var(--y);z-index:var(--z);width:clamp(96px,calc(var(--w) * 1),220px);aspect-ratio:4 / 5;padding:0;border-radius:8px;background:transparent;pointer-events:auto;touch-action:none;will-change:transform;-webkit-user-select:none;user-select:none;cursor:grab;-webkit-user-drag:none;opacity:0;transform:translate3d(var(--dx, 0px),var(--dy, 0px),0) rotate(var(--r)) scale(var(--s, 1));transform-origin:center;animation:deal .52s cubic-bezier(.16,1,.3,1) forwards;animation-delay:var(--delay);transition:transform .18s cubic-bezier(.16,1,.3,1),filter .18s ease}.photo-card.is-dragging{cursor:grabbing;transition:none;filter:saturate(1.05)}.photo-physics:before{position:absolute;inset:7px;pointer-events:none;content:"";border-radius:5px;box-shadow:inset 0 0 0 1px #ffffff47}.photo-card:hover{z-index:500}.photo-physics{display:block;width:100%;height:100%;padding:7px;border-radius:5px;background:#fffaf4;box-shadow:0 18px 40px #41322930;pointer-events:none;will-change:transform}.photo-inner{display:block;width:100%;height:100%;border-radius:5px;will-change:transform}.photo-inner img{display:block;width:100%;height:100%;border-radius:5px;object-fit:cover;-webkit-user-select:none;user-select:none;pointer-events:none}@keyframes deal{0%{opacity:0}to{opacity:1}}.empty-board{position:absolute;inset:0;display:grid;place-items:center;padding:28px;color:#2f2a2694;font-weight:700;text-align:center}.float-zoom{position:fixed;right:22px;bottom:22px;z-index:25;width:48px;height:48px;border:1px solid rgba(255,255,255,.42);box-shadow:inset 0 1px #ffffff7a,0 18px 44px #392d251f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.lightbox{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:clamp(16px,5vw,54px);background:#1e1b18b8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.lightbox-frame{position:relative;max-width:min(92vw,980px);max-height:88dvh;padding:10px;border-radius:8px;background:#fffaf4;box-shadow:0 30px 90px #100d0b59}.lightbox-frame img{display:block;max-width:calc(92vw - 20px);max-height:calc(88dvh - 20px);border-radius:5px;object-fit:contain}.close-button{position:absolute;top:-18px;right:-18px;width:42px;height:42px;color:#fffaf4;background:#2f2a26;box-shadow:0 12px 26px #100d0b3d}@media(max-width:760px){.app-shell{padding:10px}.topbar{top:10px;left:10px;right:10px;align-items:flex-start}.controls{flex-direction:column;border-radius:8px}.controls button{min-height:38px;padding:0 11px;font-size:.86rem}.board{min-height:max(100dvh,1120px)}.board-mark.top-left{top:110px;left:12px}.board-mark.bottom-right{right:12px;bottom:54px}.photo-card{width:clamp(92px,34vw,150px)}.close-button{top:8px;right:8px}}
