*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{--blush: #f2d5cb;--ground: #56904f;--pink: #f4a7be;--pink-fold: #f6b6c8;--paper: #f3f1e8;--paper-alt: #ece9dc;--crease: rgba(16, 40, 26, .16);--ink: #10281a;--mark: #3d6fd8;--font-body: "Liter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading: "Hanken Grotesk", -apple-system, BlinkMacSystemFont, sans-serif;font-family:var(--font-body);color:var(--ink);background:var(--blush);font-size:18px;line-height:1.6;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.lab-stage{position:relative;height:100svh;display:grid;place-items:center;overflow:hidden;background:var(--blush);isolation:isolate}.lab-stage:after{content:"";position:absolute;inset:0;z-index:20;pointer-events:none;opacity:.9;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='c'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.32' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23c)' opacity='0.34'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='1' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23f)' opacity='0.2'/%3E%3C/svg%3E")}.lab-canvas{position:absolute;left:50%;top:50%;width:1000px;height:560px;flex:none;z-index:1;transform:translate(-50%,-50%) translateY(var(--shift, 0)) scale(var(--fit, 1));transform-origin:center center}.lab-canvas>*{position:absolute;top:0;left:0}.lab-canvas>.lab-ground{left:-1600px;top:452px;width:4200px;height:1200px;background:var(--ground);z-index:0}.card-shadow{width:600px;height:22px;z-index:1;border-radius:50%;background:radial-gradient(closest-side,rgba(16,40,26,.4),transparent);opacity:var(--shadow, 1);pointer-events:none}.card-scene{width:690px;height:380px;perspective:2400px;z-index:3}.card{width:100%;height:100%;padding:0;border:0;background:none;cursor:pointer;position:relative;transform-style:preserve-3d;transform:translateY(var(--lift, 0px)) rotateY(var(--flip, 0deg)) scale(var(--zoom, 1))}.lab-canvas[data-done] .card{cursor:default}.card:focus-visible{outline:3px solid var(--ink);outline-offset:10px}.card-face{position:absolute;inset:0;backface-visibility:hidden}.card-front{display:grid;grid-template-columns:1fr auto;gap:20px;padding:38px 36px;background:var(--pink);border-radius:7px;box-shadow:0 16px 30px #10281a29;overflow:hidden}.front-address{align-self:end}.front-name{display:block;font-family:var(--font-heading);font-size:1.66rem;font-weight:600;line-height:1.15;color:var(--ink)}.front-title{display:block;font-size:.94rem;line-height:1.35;color:#10281a99;margin-top:8px;max-width:22ch}.front-lines{display:block;margin-top:20px}.front-lines span{display:block;height:1px;background:#10281a2e;margin-bottom:11px}.front-lines span:nth-child(1){width:56%}.front-lines span:nth-child(2){width:68%}.front-lines span:nth-child(3){width:40%}.front-name,.front-title{text-shadow:-1px -1px 0 rgba(16,40,26,.16),0 1px 0 rgba(255,255,255,.55)}.front-lines span{box-shadow:0 1px #ffffff80}.front-stamp{position:relative;align-self:start}.front-stamp-paper{--r: 7px;display:inline-block;padding:var(--r);background:radial-gradient(50% 50%,#0000 65%,var(--paper) 67%) round var(--r) var(--r) / calc(2 * var(--r)) calc(2 * var(--r));filter:drop-shadow(0 1px 2px rgba(16,40,26,.16))}.front-photo{display:block;width:140px;height:140px;object-fit:cover}.front-cancel{position:absolute;width:calc(190px * var(--face, 1));height:calc(124px * var(--face, 1));left:calc(-88px * var(--face, 1));top:calc(44px * var(--face, 1));pointer-events:none;overflow:visible}.front-cancel circle{fill:none;stroke:#10281a73;stroke-width:1.6}.front-cancel text{fill:#10281a80;font-size:9px;letter-spacing:1.4px;font-family:var(--font-heading)}.front-waves path{fill:none;stroke:#10281a73;stroke-width:1.3;stroke-linecap:round}.card-back{transform:rotateY(180deg);transform-style:preserve-3d;overflow:visible}.panel{position:absolute;inset:0;background:var(--paper);border-radius:5px;box-shadow:0 10px 24px #10281a24}.panel-centre{transform:translateZ(1px)}.panel-side{background:var(--paper)}.flap-a .panel-side{border-bottom:1px solid var(--crease)}.flap-b .panel-side{border-top:1px solid var(--crease)}.flap{position:absolute;left:0;width:100%;height:250px;transform-style:preserve-3d}.flap-a{top:-250px;transform-origin:50% 100%;transform:translateZ(3px) rotateX(var(--open-a, 180deg))}.flap-b{top:100%;transform-origin:50% 0%;transform:translateZ(3px) rotateX(var(--open-b, -180deg))}.flap-skin{position:absolute;inset:0;background:var(--pink-fold);border-radius:5px;backface-visibility:hidden;transform:rotateY(180deg) translateZ(1px)}.flap .panel-side{backface-visibility:hidden}.tab{position:absolute;top:0;width:62px;height:100%;transform-style:preserve-3d}.tab-l{left:0;transform-origin:0% 50%;transform:translateZ(4px) rotateY(var(--tab-l, 0deg))}.tab-r{right:0;transform-origin:100% 50%;transform:translateZ(4px) rotateY(var(--tab-r, 0deg))}.tab i{display:block;width:100%;height:100%;background:var(--pink)}.tab-l i{clip-path:polygon(0 9%,100% 0,100% 100%,0 91%)}.tab-r i{clip-path:polygon(0 0,100% 9%,100% 91%,0 100%)}.card-seal{position:absolute;left:50%;top:50%;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;background:#e2879f;opacity:var(--seal, 1);transform:translateZ(5px)}.panel-body{position:absolute;inset:0;padding:26px 34px;display:grid;grid-template-columns:170px 1fr;gap:24px;align-items:center}.panel-head{text-align:left}.panel-icon svg{width:28px;height:28px;fill:none;stroke:var(--mark);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.panel-head h2{font-family:var(--font-heading);font-size:.92rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--mark);margin:5px 0 0;padding-bottom:5px;display:inline-block;border-bottom:1px solid var(--mark)}.panel-items{list-style:none;margin:0;padding:0;text-align:left;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.panel-items li{margin:0}.panel-items a{display:block;padding:4px;text-decoration:none;color:var(--ink);border-radius:3px}.panel-items a:hover{background:#3d6fd817}.panel-thumb{display:block;width:100%;height:92px;object-fit:cover;background:#10281a14;border-radius:2px;margin-bottom:8px}.panel-mono{display:grid;place-items:center;font-family:var(--font-heading);font-size:.85rem;font-weight:600;letter-spacing:.06em;color:var(--mark)}.panel-text{min-width:0}.panel-title{font-size:.78rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.panel-meta{display:block;font-size:.66rem;color:#10281a8c;margin-top:2px}.panel-all{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;text-decoration:none;color:var(--mark);margin-top:8px}.sticker{display:flex;align-items:center;gap:6px;padding:7px 12px 7px 9px;background:var(--paper);border-radius:999px;box-shadow:0 0 0 3px var(--paper),0 5px 12px #10281a33;font-size:.68rem;color:var(--ink);white-space:nowrap;cursor:grab;touch-action:none;user-select:none;z-index:11;opacity:0;pointer-events:none}.lab-canvas[data-done] .sticker{pointer-events:auto}.sticker[data-dragging]{cursor:grabbing;z-index:12}.sticker:focus-visible{outline:3px solid var(--mark);outline-offset:6px}.sticker-art{background:none;box-shadow:none;padding:0;border-radius:0;text-shadow:none}.sticker-art a{display:block;line-height:0;-webkit-tap-highlight-color:transparent}.sticker-art a,.sticker-art img{-webkit-user-drag:none;user-select:none}.sticker-art img{display:block;width:calc(var(--art-w, 94px) * var(--sticker-face, 1));height:auto;filter:drop-shadow(1.4px 0 0 #fff) drop-shadow(-1.4px 0 0 #fff) drop-shadow(0 1.4px 0 #fff) drop-shadow(0 -1.4px 0 #fff) drop-shadow(1px 1px 0 #fff) drop-shadow(-1px 1px 0 #fff) drop-shadow(1px -1px 0 #fff) drop-shadow(-1px -1px 0 #fff) drop-shadow(0 5px 10px rgba(16,40,26,.32))}.sticker-tip{position:absolute;left:50%;bottom:calc(100% + 9px);transform:translate(-50%);white-space:nowrap;padding:5px 9px;background:var(--ink);color:var(--letter-cream);font-family:var(--font-display, monospace);font-size:.56rem;letter-spacing:.06em;text-transform:uppercase;border-radius:2px;opacity:0;pointer-events:none;transition:opacity .15s}.sticker-art:hover .sticker-tip,.sticker-art:focus-within .sticker-tip{opacity:1}.sticker-emoji{font-size:1rem;line-height:1}.lab-mobile{display:none}@media(max-width:720px){body{overflow:auto}.lab-stage,.lab-hint{display:none}.lab-mobile{display:block;padding:0 0 3rem}.mobile-head{display:flex;align-items:center;gap:14px;padding:1.5rem 1.25rem}.mobile-stamp{--r: 6px;display:inline-block;flex:none;padding:var(--r);background:radial-gradient(50% 50%,#0000 65%,var(--paper) 67%) round var(--r) var(--r) / calc(2 * var(--r)) calc(2 * var(--r))}.mobile-stamp img{display:block;width:68px;height:68px;object-fit:cover}.mobile-name{display:block;font-family:var(--font-heading);font-size:1.05rem;font-weight:600;line-height:1.2}.mobile-title{display:block;font-size:.8rem;color:#10281a99}.mobile-panel{position:relative;margin:0 1rem 1rem;background:var(--paper);border-radius:5px;box-shadow:0 8px 20px #10281a24}.mobile-panel+.mobile-panel{border-top:1px solid var(--crease)}.mobile-panel .panel-body{position:static;grid-template-columns:1fr;gap:12px;padding:18px 16px;align-items:start}.mobile-panel .panel-items{grid-template-columns:1fr;gap:10px}.mobile-panel .panel-title{font-size:.8rem}.mobile-panel .panel-meta{font-size:.68rem}.mobile-panel .panel-thumb{width:100%;height:120px}.mobile-panel .panel-all{font-size:.66rem}.mobile-panel .panel-head h2{font-size:.8rem}.mobile-stickers{display:flex;flex-wrap:wrap;gap:10px;padding:.5rem 1.25rem}.mobile-sticker{padding:7px 13px;background:var(--paper);border-radius:999px;box-shadow:0 3px 9px #10281a2e;font-size:.78rem}}.lab-hint{position:fixed;left:0;right:0;bottom:2.5rem;text-align:center;font-size:.66rem;text-transform:uppercase;letter-spacing:.16em;color:#fffc;opacity:var(--hint, 1);transition:opacity .15s linear;pointer-events:none;margin:0;z-index:15}
