:root{--ink:#271441;--purple:#632cc7;--blue:#2467d5;--paper:#faf8ff;--muted:#71617f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #1783eb;outline-offset:5px}button:disabled{cursor:wait}.skip{position:absolute;left:20px;top:-60px;z-index:30;background:white;padding:12px}.skip:focus{top:10px}header{max-width:1200px;margin:auto;padding:28px 36px;display:flex;justify-content:space-between;align-items:center}.brand{text-decoration:none;font-size:24px;font-weight:900;letter-spacing:-1.4px;line-height:1}.brand span{color:var(--purple);margin-left:5px}.brand small{display:block;font-size:9px;font-weight:400;letter-spacing:3.1px;margin-top:7px}.private{font-size:9px;letter-spacing:1px;border:1px solid #d9ccec;border-radius:20px;padding:9px 12px}.intro{max-width:1130px;margin:0 auto;position:relative;padding:35px 10px 45px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:#8052b4;margin:0 0 16px}h1{font-size:clamp(54px,6.4vw,82px);letter-spacing:-4px;line-height:1;margin:0;font-weight:900}h1 em{font-style:normal;display:inline-block;color:var(--purple);transform:rotate(-4deg);text-shadow:3px 3px 0 #e6d8fa}.intro>p:not(.eyebrow){font-size:17px;line-height:1.7;color:#715e80;position:absolute;left:55%;top:85px;max-width:440px}.sticker{position:absolute;left:70%;top:18px;transform:rotate(8deg);padding:12px 18px;background:#dfff91;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);font-size:10px;font-weight:900;line-height:1.4}#shop{max-width:1200px;padding:25px 36px;margin:auto}.shop-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}h2{font-size:30px;letter-spacing:-1px;margin:0}.shop-heading .eyebrow{margin-bottom:8px}.shop-heading>p{font-size:12px;color:var(--muted)}.event-tabs{display:flex;gap:10px;margin-bottom:18px}.event-tabs button{display:flex;align-items:center;justify-content:center;gap:12px;flex:1;background:white;border:2px solid #dfd1ef;border-radius:12px;padding:15px 10px;color:var(--purple);font-size:23px;transition:transform .15s}.event-tabs span{font-size:14px;font-weight:700}.event-tabs .active{background:var(--purple);border-color:var(--purple);color:white;box-shadow:3px 3px 0 var(--ink)}.event-tabs button:hover{transform:translateY(-2px)}.tabletop{position:relative;background-color:#eee3fc;background-image:radial-gradient(#c4acd84a 1px,transparent 1px);background-size:14px 14px;border:3px solid var(--ink);border-radius:24px;box-shadow:8px 9px 0 #d5c1eb;display:grid;grid-template-columns:1.2fr 1fr;gap:35px;padding:55px 45px 30px;overflow:hidden;isolation:isolate}.table-label{position:absolute;top:20px;left:25px;right:25px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.5px;font-weight:900;color:#9a80b3}.style-tabs{display:flex;gap:5px;max-width:340px;margin:0 auto 27px;background:#dbc8f2;padding:4px;border-radius:8px}.style-tabs button{flex:1;padding:11px 8px;border:0;border-radius:5px;background:transparent;font-size:12px;color:#70538c;font-weight:700}.style-tabs .active{background:white;color:var(--purple);box-shadow:2px 2px 0 #b99ed4}.card-stage{position:relative;width:290px;max-width:100%;margin:auto;z-index:5;perspective:800px}.back-card{position:absolute;inset:10px 0 0;background:#fff;border:1px solid #d0c5da;box-shadow:2px 4px 6px #4d2b6d18}.back-one{transform:rotate(-7deg)}.back-two{transform:rotate(6deg)}#poster-card{position:relative;background:white;box-shadow:3px 8px 14px #3110442b;transform:rotate(-2deg);touch-action:pan-y;transition:transform .25s,box-shadow .25s;will-change:transform;padding:7px}#poster-card.dragging{transition:none;z-index:50;box-shadow:12px 18px 20px #3110443b;pointer-events:none}#poster-card.feeding{transition:transform .65s cubic-bezier(.4,0,.8,1),opacity .6s;opacity:0}#poster-preview{display:block;width:100%;height:auto;pointer-events:none;user-select:none}#drag-handle{touch-action:none;cursor:grab;border:0;background:#fff4b8;color:#644c31;width:100%;font-size:8px;font-weight:800;letter-spacing:.4px;padding:9px 2px;display:flex;justify-content:space-around;align-items:center;user-select:none}#drag-handle span{font-size:15px}#drag-handle:active{cursor:grabbing}.browse{display:flex;justify-content:space-between;align-items:center;max-width:390px;gap:8px;margin:25px auto 0}.browse button{border:1px solid #cbb2e4;border-radius:50%;width:38px;height:38px;background:white;color:var(--purple);font-size:19px;flex-shrink:0}.browse div{text-align:center}.browse strong{font-size:11px;display:block}.browse small{font-size:9px;color:#8b719e;display:block;margin-top:7px}.printer-station{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:60px}.scribble{position:absolute;top:10px;left:25px;font-size:17px;font-weight:700;font-style:italic;line-height:1.15;transform:rotate(-7deg);color:#8055a2}.scribble span{position:absolute;font-size:40px;right:-45px;top:15px}#printer{position:relative;width:280px;max-width:100%;height:270px;border:2px dashed transparent;background:transparent;border-radius:25px;display:flex;align-items:center;flex-direction:column;justify-content:flex-end;padding:8px 8px 0;transition:background .2s,border-color .2s}#printer.over{background:#cbb1fa8a;border-color:var(--purple)}.printer-paper{position:absolute;top:5px;left:68px;width:145px;height:130px;background:white;border:2px solid var(--ink);border-radius:4px 4px 0 0;transform:rotate(3deg);display:grid;place-items:center;box-shadow:4px 4px 0 #bda6d5}.printer-paper>span{font-size:23px;font-weight:900;line-height:1;text-align:center;color:var(--purple)}.printer-machine{position:absolute;top:90px;left:10px;width:260px;height:130px;border:3px solid var(--ink);background:#7c43cf;border-radius:17px;box-shadow:6px 7px 0 var(--ink)}.printer-top{position:absolute;left:0;right:0;top:0;height:48px;background:#a06ce8;border-bottom:3px solid var(--ink);border-radius:13px 13px 0 0;display:flex;align-items:center;justify-content:space-between;padding:0 20px}.printer-top i{width:10px;height:10px;border:2px solid var(--ink);background:#dfff91;border-radius:50%}.printer-top b{font-size:10px;letter-spacing:1px;color:white}.printer-slot{position:absolute;left:25px;right:25px;top:69px;height:17px;border-radius:5px;background:var(--ink)}.printer-output{position:absolute;left:55px;right:55px;top:77px;height:45px;background:white;border:2px solid var(--ink);border-top:0;transform:perspective(150px) rotateX(20deg);transform-origin:top}.printing .printer-output{animation:output .8s ease-in-out}.printing .printer-top i{animation:blink .25s 3}.printer-caption{font-size:11px;font-weight:900;letter-spacing:1px;color:var(--purple);margin-top:10px}#printer>small{font-size:10px;color:#81639b;margin-top:5px}.printer-note{text-align:center;margin:24px 0 18px}.printer-note b{font-size:15px}.printer-note p{font-size:12px;color:#7c628f;line-height:1.6;margin:8px 0 0}.send-button{border:2px solid var(--ink);background:#dfff91;box-shadow:3px 3px 0 var(--ink);border-radius:9px;padding:14px 18px;font-size:12px;font-weight:800;color:var(--ink)}.send-button span{margin-left:15px}.keyboard-hint{font-size:9px;color:#886f9b;margin:12px 0}.under-table{display:flex;justify-content:space-between;gap:30px;align-items:center;margin:27px 0 15px}#space-note{font-size:12px;line-height:1.65;max-width:510px;color:#6f5a80}.quick-actions{display:flex;gap:18px;white-space:nowrap}.quick-actions a,.quick-actions button{font-size:12px;font-weight:700;color:var(--purple);border:0;border-bottom:1px solid #cbb5e5;background:transparent;text-decoration:none;padding:10px 0}.paper-note{text-align:center;font-size:10px;letter-spacing:.3px;color:#8a7698}#status{font-size:12px;text-align:center;color:var(--purple)}.neighbour{display:flex;gap:20px;max-width:1128px;margin:35px auto 45px;padding-top:30px;border-top:1px solid #e2d7eb}.neighbour>span{font-size:35px;color:var(--purple)}.neighbour h2{font-size:20px;letter-spacing:-.4px}.neighbour p{font-size:12px;line-height:1.7;max-width:800px;color:#816c90}footer{border-top:1px solid #e5dced;padding:25px 30px;display:flex;justify-content:center;gap:25px;flex-wrap:wrap;font-size:10px;color:#8f7e9c}footer b{letter-spacing:1px}footer small{width:100%;text-align:center;font-size:9px}dialog{width:min(460px,calc(100% - 32px));max-height:90vh;overflow:auto;border:3px solid var(--ink);border-radius:20px;padding:28px;background:#faf7ff;color:var(--ink);text-align:center;box-shadow:8px 8px 0 #30174c40}dialog::backdrop{background:#241039aa;backdrop-filter:blur(3px)}dialog h2{font-size:32px}dialog .eyebrow{font-size:8px;margin-top:10px}#ready-name{font-size:12px;color:#806792}.close{position:absolute;right:10px;top:6px;border:0;background:transparent;color:var(--ink);font-size:30px;width:35px;height:35px}#ready-image{width:150px;max-height:205px;object-fit:contain;box-shadow:2px 3px 10px #33144822;margin:5px 0 20px}.dialog-actions{display:flex;gap:10px}.primary,.secondary{flex:1;padding:14px 10px;border:2px solid var(--purple);font-size:12px;font-weight:700;border-radius:8px;text-decoration:none}.primary{background:var(--purple);color:white}.secondary{background:white;color:var(--purple)}.tip{font-size:10px;color:#866f97;line-height:1.6}#keep-browsing{border:0;background:transparent;color:var(--purple);text-decoration:underline;font-size:11px;padding:8px}#print-sheet{display:none}@keyframes output{0%{height:0}100%{height:45px}}@keyframes blink{50%{background:white}}@media(max-width:850px){.intro{padding:25px 30px 35px}.intro>p:not(.eyebrow){position:static;max-width:none;font-size:15px}.sticker{left:auto;right:40px;top:85px}.tabletop{padding:55px 20px 25px;gap:20px}.card-stage{width:245px}.printer-station{transform:scale(.9);transform-origin:center}.scribble{left:0}.neighbour{margin-left:30px;margin-right:30px}.shop-heading>p{display:none}.under-table{gap:20px}.quick-actions{gap:12px}}@media(max-width:600px){header{padding:24px}.brand{font-size:21px}.private{font-size:7px;letter-spacing:.3px;padding:7px}.intro{padding:18px 25px 20px}h1{font-size:58px;letter-spacing:-3px}.intro .eyebrow{font-size:8px}.intro>p:not(.eyebrow){font-size:14px;margin-top:20px}.sticker{right:22px;top:73px;font-size:7px;padding:8px;transform:rotate(9deg);max-width:105px}#shop{padding:20px 18px}.shop-heading h2{font-size:25px}.shop-heading .eyebrow{font-size:8px}.event-tabs{gap:7px}.event-tabs button{flex-direction:column;gap:5px;padding:10px 4px;border-radius:9px;font-size:20px}.event-tabs span{font-size:10px}.tabletop{grid-template-columns:1fr;padding:48px 20px 20px;gap:10px;border-radius:18px;box-shadow:5px 6px 0 #d5c1eb}.table-label{font-size:6px;left:15px;right:15px;letter-spacing:1px}.card-stage{width:230px}.style-tabs{margin-bottom:22px}.style-tabs button{font-size:11px;padding:10px 6px}.browse{margin-top:22px}.browse strong{font-size:10px}.printer-station{transform:none;padding-top:15px}.scribble{display:none}#printer{height:245px;transform:scale(.85);transform-origin:center top;margin-bottom:-28px}.printer-note{margin-top:12px;margin-bottom:15px}.printer-note b{font-size:13px}.printer-note p{font-size:11px}.keyboard-hint{font-size:8px}.under-table{flex-direction:column;gap:0;align-items:stretch}#space-note{margin:0;font-size:11px}.quick-actions{justify-content:center;margin-top:10px}.quick-actions a,.quick-actions button{padding:12px;font-size:12px}.paper-note{font-size:9px;line-height:1.6}.neighbour{margin:20px 25px 30px;gap:12px}.neighbour h2{font-size:18px}.neighbour p{font-size:11px}.dialog-actions{flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@page{size:letter portrait;margin:0}@media print{html,body{margin:0!important;padding:0!important;background:white!important}.site,.skip,dialog{display:none!important}#print-sheet{display:block!important;width:8.5in;height:11in;overflow:hidden}#print-sheet img{display:block;width:8.5in;height:11in;object-fit:contain;print-color-adjust:exact;-webkit-print-color-adjust:exact}}
@media(max-width:600px){.sticker{position:static;display:inline-block;max-width:none;margin:0 0 4px;transform:rotate(-3deg);font-size:8px;padding:8px 12px}.intro>p:not(.eyebrow){margin-bottom:14px}}

/* One-tap selected-sign flow. No dragging or drop targets. */
#selected-label{background:#fff4b8;color:#644c31;width:100%;font-size:8px;font-weight:800;letter-spacing:.4px;padding:10px 3px;text-align:center}#selected-label span{margin-right:8px}.poster-station>.send-button{display:block;width:290px;max-width:100%;margin:20px auto 0;font-size:15px;min-height:48px}.poster-station>#cancel-feed{display:block;margin:12px auto 0;border:0;background:none;text-decoration:underline;color:var(--purple);padding:8px}.poster-station>#cancel-feed[hidden]{display:none}#printer{cursor:default}#poster-card.feeding{animation:fling .85s cubic-bezier(.25,.5,.65,1) forwards;transition:none!important}#poster-card{pointer-events:auto}.printer-station{padding-top:15px}.scribble{top:35px}@keyframes fling{0%{transform:rotate(-2deg);opacity:1}25%{transform:translate(-10px,-45px) rotate(-13deg) scale(1.08);opacity:1}65%{transform:translate(calc(var(--feed-x)*.65),calc(var(--feed-y)*.65 - 70px)) rotate(13deg) scale(.65);opacity:1}100%{transform:translate(var(--feed-x),var(--feed-y)) rotate(0) scale(.04);opacity:0}}@media(prefers-reduced-motion:reduce){#poster-card.feeding{animation:none!important;transform:none!important;opacity:1}}@media(max-width:600px){.poster-station>.send-button{margin-top:17px;width:100%}.printer-station{padding-top:10px}.scribble{display:none}}
#printer{height:295px}@media(max-width:600px){#printer{height:280px}}
