.pub{--mute:#d6c3de;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(120% 60% at 50% 0,#3a2045 0,transparent 70%),var(--night);color:var(--paper);font:400 1.0625rem/1.55 var(--sans)}.pub .wrap{width:100%;max-width:30rem;margin:0 auto;padding:max(28px,env(safe-area-inset-top)) 16px 48px;flex:1 1}.pub .preview-bar{background:var(--accent);color:var(--ink);font-weight:600;font-size:.875rem;padding:8px 16px;text-align:center}.pub .preview-bar a{color:inherit}.pub .tape{display:block;width:100%;max-width:340px;margin:0 auto;filter:drop-shadow(0 18px 30px rgba(0,0,0,.45))}.tape-body{fill:var(--night-3)}.tape-label{fill:var(--paper)}.tape-rule{stroke:var(--accent);stroke-width:3}.tape-title{font-family:var(--hand);font-weight:700;font-size:30px;fill:var(--ink)}.tape-side{font-family:var(--sans);font-weight:800;font-size:13px;fill:var(--accent)}.tape-window{fill:var(--night);stroke:var(--ink);stroke-width:2}.tape-band{fill:none;stroke:#6b4a3a;stroke-width:6;stroke-linecap:round;opacity:.8}.reel-hub{fill:var(--paper);stroke:var(--ink);stroke-width:2}.reel-teeth{stroke:var(--ink);stroke-width:3;stroke-linecap:round}.reel{transform-box:fill-box;transform-origin:center}.tape-bottom{fill:var(--night-2)}.tape-hole{fill:var(--night)}.spinning .reel{animation:spin 2.2s linear infinite}.spinning-fast .reel{animation:spin .5s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.pub .tracks{display:flex;justify-content:center;gap:8px;list-style:none;margin:22px 0 6px;padding:0;flex-wrap:wrap}.pub .tracks li{width:28px;height:6px;border-radius:3px;background:var(--night-3)}.pub .tracks li.done{background:var(--mute)}.pub .tracks li.now{background:var(--accent)}.pub .track-no{text-align:center;margin:0 0 22px;color:var(--mute);font-size:.875rem;font-weight:600}.pub .label-card{position:relative;background:repeating-linear-gradient(to bottom,transparent 0 33px,var(--paper-line) 33px 34px),var(--paper);background-position:0 14px;color:var(--ink);border-radius:6px;padding:22px 22px 26px;transform:rotate(-.8deg);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 20px 40px rgba(0,0,0,.35);overflow-wrap:anywhere}.pub .label-card:before{content:"";position:absolute;top:-12px;left:50%;width:84px;height:24px;margin-left:-42px;background:color-mix(in srgb,var(--mint) 70%,transparent);transform:rotate(3deg);border-radius:2px}.pub .label-card h1{font-size:2.6rem;margin:4px 0 12px;color:var(--ink)}.pub .label-card .body{margin:0;font-size:1.0625rem;line-height:34px;white-space:pre-line}.pub .polaroid{margin:6px auto 18px;background:#fff;padding:10px 10px 34px;width:86%;transform:rotate(2deg);box-shadow:0 10px 24px rgba(43,26,48,.28)}.pub .polaroid img{display:block;width:100%;height:auto}.pub .player{margin:34px 0 0}.pub .song-title{margin:0 0 10px;color:var(--mute);font-weight:600}.pub .song-title span{color:var(--accent)}.pub .next{margin:34px 0 0;padding:18px 20px 20px;border:2px dashed var(--accent);border-radius:14px}.pub .next h2{margin:0 0 6px;font:800 .9375rem/1.3 var(--sans);color:var(--accent)}.pub .next p{margin:0;font-size:1.9rem;color:var(--paper);white-space:pre-line}.pub .ask{margin:40px 0 0;text-align:center}.pub .question{font-size:2.9rem;margin:0 0 28px;color:var(--paper)}.pub .answers{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;min-height:120px}.pub .btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;font:800 1.125rem/1 var(--sans);border-radius:999px;padding:16px 34px;text-decoration:none;display:inline-block;transition:transform .25s cubic-bezier(.3,1.6,.5,1),opacity .2s}.pub .btn:focus-visible{outline:3px solid var(--mint);outline-offset:3px}.pub .btn-yes{background:var(--accent);color:var(--ink);box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 45%,transparent)}.pub .btn-no{background:transparent;color:var(--mute);border:2px solid var(--night-3)}.pub .btn-ghost{background:var(--night-2);color:var(--paper)}.pub .result{position:fixed;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;background:rgba(36,20,43,.94)}.pub .result .big{font-size:3.1rem;margin:0;color:var(--paper);max-width:24rem;white-space:pre-line}.pub .result .sig{font-size:2rem;color:var(--accent);margin:14px 0 0}.pub .result .close{margin-top:28px}.pub #confetti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:6}.pub .intro{margin:28px 0 0}.pub .intro p{color:var(--mute);margin:0 0 14px}.pub .key-form{margin:30px 0 0;display:flex;flex-direction:column;gap:10px}.pub .key-form label{font-weight:800;font-size:.9375rem;color:var(--paper)}.pub .key-form input{font:600 1.125rem/1.2 var(--sans);letter-spacing:.06em;text-transform:uppercase;padding:14px 16px;border-radius:12px;border:2px solid var(--night-3);background:var(--night-2);color:var(--paper);width:100%}.pub .key-form input:focus{outline:none;border-color:var(--accent)}.pub .msg{margin:0;padding:10px 14px;border-radius:10px;background:var(--night-2);color:var(--paper);font-weight:600;font-size:.9375rem}.pub .msg.err{background:color-mix(in srgb,var(--accent) 25%,var(--night-2))}.site-foot{padding:18px 16px calc(18px + env(safe-area-inset-bottom));text-align:center;font-size:.8125rem;color:#b9a5c2}.site-foot a{color:inherit}.site-foot nav{display:inline-flex;gap:14px;margin-left:12px}@media (prefers-reduced-motion:reduce){.spinning .reel,.spinning-fast .reel{animation:none}.pub .btn{transition:none}}@media (min-width:600px){.pub .wrap{padding-top:56px}}