@import"https://fonts.googleapis.com/css2?family=Caveat:wght@400;500&family=DM+Sans:wght@300;400&display=swap";*{margin:0;padding:0;box-sizing:border-box}body{font-family:DM Sans,sans-serif;background:#f5f0e8;-webkit-user-select:none;user-select:none}body.board-mode{overflow:hidden}body.pinterest-mode{overflow:auto}.viewport{width:100vw;height:100vh;overflow:hidden;position:relative;cursor:grab;background:#f5f0e8}.viewport.dragging{cursor:grabbing}.board{position:absolute;width:3400px;height:2600px;background:#f5f0e8;background-image:radial-gradient(circle at 20% 20%,rgba(196,167,125,.08) 0%,transparent 50%),radial-gradient(circle at 80% 30%,rgba(196,167,125,.06) 0%,transparent 40%),radial-gradient(circle at 40% 80%,rgba(196,167,125,.07) 0%,transparent 45%),radial-gradient(circle at 70% 70%,rgba(196,167,125,.05) 0%,transparent 35%);transform-origin:0 0}.title-bg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;z-index:500}.title-bg .year{font-family:Caveat,cursive;font-size:15rem;color:#c4a77d33;line-height:.9}.title-bg h1{font-family:Caveat,cursive;font-size:5.5rem;color:#3d352940}.category{position:absolute}.cat-title{font-family:Caveat,cursive;font-size:2.4rem;color:#5a4d3f;background:#fffffff2;padding:6px 22px;border-radius:25px;display:inline-block;margin-bottom:25px;box-shadow:0 3px 12px #0000001a;position:relative;z-index:1000}.cat-grid{display:flex;flex-wrap:wrap;gap:20px;max-width:1450px}.pin{background:#fff;padding:7px 7px 28px;box-shadow:0 3px 15px #3c32281f;cursor:pointer;transition:transform .25s,box-shadow .25s;position:relative;z-index:10}.pin:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%);width:15px;height:15px;background:radial-gradient(circle,#d4a574,#b8896a);border-radius:50%;box-shadow:0 2px 3px #0003}.pin img{width:100%;display:block;pointer-events:none}.pin:hover{transform:scale(1.1) rotate(0)!important;box-shadow:0 15px 40px #3c322838;z-index:99}.pin.tape:before{display:none}.pin.tape:after{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%);width:48px;height:18px;background:#fff8dceb}.pin.clip:before{width:6px;height:24px;background:linear-gradient(#999,#666);border-radius:2px;top:-12px}.ui{position:fixed;background:#fffffff2;border-radius:10px;box-shadow:0 2px 12px #0000001a;z-index:999;font-size:.82rem;color:#5a4d3f;padding:8px 16px}.info{top:12px;left:50%;transform:translate(-50%)}.zoom-ctrl{bottom:12px;left:12px;display:flex;align-items:center;gap:8px}.zoom-ctrl button{width:32px;height:32px;border:none;background:#c4a77d;color:#fff;border-radius:6px;cursor:pointer;font-size:1.2rem;transition:background .2s}.zoom-ctrl button:hover{background:#a8895f}.zoom-level{min-width:50px;text-align:center;font-weight:500}.reset-btn{margin-left:8px;width:auto!important;padding:0 10px}.minimap{bottom:12px;right:12px;width:150px;height:115px;padding:5px}.minimap-inner{width:100%;height:100%;background:#f5f0e8;border-radius:5px;position:relative;cursor:pointer}.minimap-view{position:absolute;border:2px solid #c4a77d;background:#c4a77d4d;border-radius:2px;pointer-events:none}.lightbox{display:none;position:fixed;inset:0;background:#f5f0e8f7;z-index:9999;justify-content:center;align-items:center}.lightbox.show{display:flex}.lightbox img{max-width:88vw;max-height:88vh;box-shadow:0 20px 60px #3c322840;border-radius:3px}.lb-close{position:absolute;top:18px;right:18px;width:40px;height:40px;cursor:pointer;opacity:.6;background:none;border:none}.lb-close:hover{opacity:1}.lb-close:before,.lb-close:after{content:"";position:absolute;top:50%;left:50%;width:22px;height:2px;background:#3d3529}.lb-close:before{transform:translate(-50%,-50%) rotate(45deg)}.lb-close:after{transform:translate(-50%,-50%) rotate(-45deg)}.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:45px;height:45px;cursor:pointer;opacity:.5;background:none;border:none}.lb-nav:hover{opacity:.9}.lb-nav:before{content:"";position:absolute;top:50%;left:50%;width:12px;height:12px;border-left:2px solid #3d3529;border-bottom:2px solid #3d3529}.lb-nav.prev{left:18px}.lb-nav.prev:before{transform:translate(-40%,-50%) rotate(45deg)}.lb-nav.next{right:18px}.lb-nav.next:before{transform:translate(-60%,-50%) rotate(-135deg)}.view-toggle{top:12px;right:12px;display:flex;gap:4px;padding:4px}.view-toggle button{width:36px;height:36px;border:none;background:transparent;color:#5a4d3f;border-radius:6px;cursor:pointer;font-size:1.2rem;transition:all .2s}.view-toggle button:hover{background:#c4a77d33}.view-toggle button.active{background:#c4a77d;color:#fff}.pinterest-view{min-height:100vh;background:#f5f0e8;padding:130px 20px 20px;overflow-y:auto}.pinterest-header{position:fixed;top:0;left:0;right:0;background:#f5f0e8f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:15px 20px;z-index:100;display:flex;flex-direction:column;align-items:center;gap:12px}.pinterest-title{font-family:Caveat,cursive;font-size:2.5rem;color:#5a4d3f;margin:0}.filter-tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.filter-tab{padding:8px 16px;border:none;background:#fffc;color:#5a4d3f;border-radius:20px;cursor:pointer;font-size:.9rem;font-family:DM Sans,sans-serif;transition:all .2s;box-shadow:0 2px 8px #00000014}.filter-tab:hover{background:#fff;transform:translateY(-1px)}.filter-tab.active{background:#c4a77d;color:#fff}.masonry-grid{columns:5;column-gap:16px;max-width:1600px;margin:0 auto;padding-top:20px}@media(max-width:1400px){.masonry-grid{columns:4}}@media(max-width:1100px){.masonry-grid{columns:3}}@media(max-width:800px){.masonry-grid{columns:2}}@media(max-width:500px){.masonry-grid{columns:1}}.masonry-item{break-inside:avoid;margin-bottom:16px;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 4px 15px #3c32281a;cursor:pointer;transition:all .3s ease;position:relative}.masonry-item:hover{transform:translateY(-4px);box-shadow:0 12px 30px #3c322833}.masonry-item img{width:100%;display:block}.masonry-overlay{position:absolute;bottom:0;left:0;right:0;padding:12px;background:linear-gradient(transparent,#00000080);opacity:0;transition:opacity .3s}.masonry-item:hover .masonry-overlay{opacity:1}.masonry-category{color:#fff;font-size:.85rem;font-weight:500}
