.contract-entry{border:1px solid var(--border);background:linear-gradient(100deg,#d2b07012,#0000);align-items:center;gap:18px;margin-top:22px;padding:18px 22px;display:flex}.contract-entry>svg{color:var(--gold);flex-shrink:0}.contract-entry>div{flex:1}.contract-entry strong{font:600 22px var(--font-heading)}.contract-entry p{color:var(--muted-foreground);font-size:15px}.contract-workshop .art-modal-panel{background:#100d0b;max-width:1200px}.contract-workshop h2{margin:16px 30px 12px 0;font-size:clamp(28px,3vw,42px);line-height:1.1}.contract-intro{color:#bcae97;max-width:800px;margin-bottom:22px}.contract-story-label{flex-direction:column;gap:8px;display:flex}.contract-story-label select{color:#ede0c5;background:#1c1712;border:1px solid #d2b07050;width:100%;padding:12px}.contract-workshop-layout{grid-template-columns:minmax(0,1fr) 330px;gap:26px;margin-top:24px;display:grid}.contract-picker-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.contract-card-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-height:65dvh;padding:4px;display:grid;overflow-y:auto}.contract-card-picker article{text-align:center;flex-direction:column;align-items:center;gap:8px;min-width:0;display:flex}.contract-picker-art{width:100%;max-width:145px}.contract-card-picker article>strong{overflow-wrap:anywhere;font-size:16px;line-height:1.2}.contract-card-picker article>small{color:#b7a78f;font-size:11px}.contract-card-picker article>div:last-child{justify-content:center;align-items:center;gap:12px;margin-top:auto;display:flex}.contract-terms{background:#d2b0700a;border:1px solid #d2b07050;align-self:start;padding:22px}.contract-terms>h3{font:600 25px/1.1 var(--font-heading);margin:12px 0}.contract-six-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0;display:grid}.contract-six-slots>span{aspect-ratio:2/3;color:#d2b07055;border:1px dashed #d2b07055;place-items:center;display:grid}.contract-six-slots>span.filled{border:0}.contract-selection-count{color:#e6c88c;font:13px var(--font-data);display:block}.contract-summary{color:#d1c2a7;margin:14px 0;font-size:13px}.contract-terms>p{margin:12px 0}.contract-cost{color:#b4a48c;font-size:13px}.contract-terms .paint-button{white-space:normal;width:100%;height:auto;min-height:48px;margin:14px 0}.contract-empty{text-align:center;color:#bead91;padding:32px 12px}.contract-cinema{background:radial-gradient(at 50% 45%,#2a1b25,#090709 70%);padding:0;overflow-x:hidden}.contract-cinema .art-modal-panel{width:100%;max-width:none;min-height:100dvh;margin:0;padding:0}.contract-cinema .art-modal-panel>.paint-mark,.contract-cinema .art-modal-inset{display:none}.contract-cinema .art-modal-close{z-index:10}.contract-scene{flex-direction:column;min-height:100dvh;display:flex;position:relative;overflow:hidden}.contract-cinema-header{z-index:3;justify-content:space-between;align-items:center;gap:20px;padding:26px 88px 10px 32px;display:flex;position:relative}.contract-cinema-header h2{margin-top:5px;font-size:clamp(22px,2.3vw,32px);line-height:1.15}.contract-cinema-header .eyebrow{font-size:10px}.contract-theatre{isolation:isolate;flex:1;width:100%;height:clamp(260px,100dvh - 310px,650px);min-height:260px;position:relative}.contract-camera{width:800px;height:600px;translate:-50% -50%;scale:var(--stage-scale,1);perspective:1000px;position:absolute;top:50%;left:50%}.contract-vortex{pointer-events:none;z-index:2;mix-blend-mode:screen;width:100%;height:100%;position:absolute;inset:0}.contract-parchment{text-align:center;color:#39281b;clip-path:polygon(1% 1%,20% 0,39% 1%,65% 0,99% 1%,100% 28%,99% 57%,100% 99%,77% 100%,53% 99%,25% 100%,0 99%,1% 67%,0 35%);background:radial-gradient(at 30% 20%,#fff4cf,#d8b97d 65%,#a77848);width:540px;height:550px;padding:35px;position:absolute;top:25px;left:130px;box-shadow:0 25px 70px #0009,inset 0 0 65px #6b3d2b40}.contract-paper-border{outline-offset:4px;pointer-events:none;border:1px solid #6b4b2b88;outline:1px solid #6b4b2b44;position:absolute;inset:18px}.contract-paper-kicker{font:10px var(--font-data);text-transform:uppercase;letter-spacing:.17em}.contract-parchment h3{font:600 35px var(--font-heading);margin:6px 0}.contract-paper-story{font:17px var(--font-heading)}.contract-paper-terms{font-size:13px;font-style:italic;position:absolute;bottom:102px;left:25px;right:25px}.contract-signature{height:65px;position:absolute;bottom:33px;left:70px;right:70px}.contract-signature>span{font:45px var(--font-signature), cursive;white-space:nowrap;line-height:1.35;display:block;overflow:hidden}.contract-signature i{border-bottom:1px solid #4e352b;position:absolute;bottom:3px;left:12%;right:12%;transform:rotate(-3deg)}.contract-quill{color:#39261a;opacity:0;position:absolute;bottom:12px;left:0}.contract-parchment>small{font:8px var(--font-data);text-transform:uppercase;letter-spacing:.1em;position:absolute;bottom:14px;left:0;right:0}.contract-stamp{color:#9a3524;width:120px;height:120px;font:11px var(--font-data);opacity:0;border:5px double #9a3524;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;font-weight:600;display:flex;position:absolute;bottom:105px;right:30px;rotate:-15deg}.contract-flying-card{opacity:0;width:96px;height:144px;transform:translate(var(--x), var(--y)) rotate(var(--angle));transform-style:preserve-3d;filter:drop-shadow(0 8px 7px #0006);position:absolute;top:205px;left:352px}.contract-filter{width:0;height:0;position:absolute}.contract-portal{opacity:0;pointer-events:none;width:600px;height:600px;position:absolute;top:0;left:100px}.contract-portal i{border:3px solid #b18cf5;border-radius:50%;position:absolute;inset:80px;transform:rotateX(60deg);box-shadow:0 0 28px #a85cff88,inset 0 0 24px #edac4555}.contract-portal i:nth-child(2){border-color:#e8bd6b;inset:35px;transform:rotateY(65deg)rotate(40deg)}.contract-portal i:nth-child(3){border-style:dashed;inset:125px}.contract-stamp-dust,.contract-burst-particles{pointer-events:none;z-index:4;width:0;height:0;position:absolute;top:50%;left:50%}.contract-stamp-dust{top:410px;left:615px}.contract-stamp-dust i,.contract-burst-particles i{opacity:0;background:#efc47a;border-radius:50%;width:5px;height:5px;position:absolute;box-shadow:0 0 13px #ffc16a}.contract-burst-particles i:nth-child(3n){background:#bc98ff;border-radius:0;width:3px;height:16px;box-shadow:0 0 16px #b679ff}.contract-shockwave{opacity:0;border:3px solid #ffe7a8;border-radius:50%;width:30px;height:30px;margin:-15px;position:absolute;top:50%;left:50%;box-shadow:0 0 50px #f3ca7d}.contract-prize{opacity:0;z-index:5;width:350px;position:absolute;top:65px;left:225px}.contract-prize-aura{filter:blur(20px);z-index:-1;background:conic-gradient(from 25deg,#0000,#e5b96c55,#0000,#b979ff55,#0000,#e5b96c55,#0000);border-radius:50%;position:absolute;inset:-30%}.contract-cinema-footer{z-index:5;text-align:center;flex-direction:column;align-items:center;gap:10px;padding:12px 24px 26px;display:flex;position:relative}.contract-cinema-footer>p:not(.eyebrow){color:#dac9ab;font-size:22px;font-style:italic}.contract-cinema-footer>small{color:#a9977e;font:9px var(--font-data);text-transform:uppercase;letter-spacing:.09em}.contract-cinema-footer h3{font:600 30px var(--font-heading)}.contract-result-actions{justify-content:center;align-items:start;gap:16px;width:100%;max-width:600px;margin-top:5px;display:flex}.contract-result-actions .booster-offer--actions-only{flex:1;min-width:0}.contract-result-actions .booster-offer-action>p{display:none}.contract-result-actions>button{margin-top:0}.is-playing .contract-parchment{animation:.8s both contractUnroll,1s 5.6s forwards contractPaperFade}.is-playing .contract-flying-card{animation:contractDeal .8s calc(.6s + var(--i) * .22s) both, contractFuse 3.15s calc(5.6s + var(--i) * 25ms) forwards}.is-playing .contract-flying-card>div{animation:3s 5.6s forwards contractWarp}.is-playing .contract-signature>span{animation:2s 2.3s both contractSign}.is-playing .contract-quill{animation:2s 2.3s both contractQuill}.is-playing .contract-signature i{animation:.4s 4.1s both contractSign}.is-playing .contract-stamp{animation:.55s 4.7s both contractStamp}.is-playing .contract-camera{animation:.5s 4.85s contractShake,.8s 8.75s contractShake}.is-playing .contract-stamp-dust i{animation:contractParticle 1s calc(4.85s + var(--delay)) both}.is-playing .contract-burst-particles i{animation:contractParticle 1.8s calc(8.75s + var(--delay)) both}.is-playing .contract-portal{animation:3.3s 5.6s both contractPortal}.is-playing .contract-shockwave{animation:1s 8.75s both contractShock}.is-playing .contract-prize{animation:1.6s 8.75s both contractPrize}.is-complete .contract-parchment,.is-complete .contract-sacrifice-cards,.is-complete .contract-vortex,.is-complete .contract-portal{display:none}.is-complete .contract-prize{opacity:1;animation:4s ease-in-out infinite contractPrizeFloat}@keyframes contractUnroll{0%{opacity:0;transform:translateY(110px)rotateX(70deg)scaleY(.2)}to{opacity:1;transform:none}}@keyframes contractPaperFade{to{opacity:0;filter:blur(8px);transform:translateY(40px)scale(.8)}}@keyframes contractDeal{0%{opacity:0;transform:translate(calc(var(--x) * 2), -600px) rotateZ(-70deg) rotateY(140deg) scale(1.5)}to{opacity:1;transform:translate(var(--x), var(--y)) rotate(var(--angle))}}@keyframes contractSign{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes contractQuill{0%{opacity:1;left:0;translate:0 4px;rotate:-20deg}25%{translate:0 -10px}50%{translate:0 6px;rotate:10deg}75%{translate:0 -8px}95%{opacity:1}to{opacity:0;left:95%;translate:0 -20px}}@keyframes contractStamp{0%{opacity:0;filter:blur(6px);transform:translateY(-250px)scale(3.5)}28%{opacity:1;filter:none;transform:translateY(0)scale(.92)}50%{transform:scale(1.08)}to{opacity:.9;transform:none}}@keyframes contractShake{0%,to{transform:none}12%{transform:translate(14px,10px)rotate(.8deg)}25%{transform:translate(-12px,-6px)rotate(-.7deg)}40%{transform:translate(8px,-8px)}60%{transform:translate(-5px,4px)}80%{transform:translate(2px,-2px)}}@keyframes contractFuse{0%{opacity:1;transform:translate(var(--x), var(--y)) rotate(var(--angle))}22%{opacity:1;transform:translate(calc(var(--x) * 1.5), calc(var(--y) * 1.5)) rotateY(35deg) rotateZ(50deg) scale(1.1)}55%{opacity:1;transform:translate(calc(var(--x) * .7), calc(var(--y) * .7)) rotateZ(350deg) rotateY(60deg) scale(.85)}85%{opacity:1;transform:translate(0)rotate(690deg)scale(.4,.8)}to{opacity:0;transform:translate(0)rotate(900deg)scale(0)}}@keyframes contractWarp{0%{filter:none}25%,80%{filter:url(#contract-distortion)brightness(1.6)saturate(1.4)}to{filter:blur(10px)brightness(3)}}@keyframes contractPortal{0%{opacity:0;transform:scale(.3)rotate(0)}35%{opacity:.8;transform:scale(1.1)rotate(140deg)}85%{opacity:1;transform:scale(.5)rotate(500deg)}to{opacity:0;transform:scale(0)rotate(650deg)}}@keyframes contractParticle{0%{opacity:0;transform:rotate(var(--a)) translateX(0) scale(.4)}12%{opacity:1}to{opacity:0;transform:rotate(var(--a)) translateX(var(--distance)) scale(.1)}}@keyframes contractShock{0%{opacity:0;transform:scale(0)}15%{opacity:.9}to{opacity:0;transform:scale(30)}}@keyframes contractPrize{0%{opacity:0;filter:brightness(3)blur(8px);transform:translateY(80px)scale(.05)rotateY(110deg)}22%{opacity:1;filter:brightness(1.8);transform:translateY(-25px)scale(1.2)rotateY(-15deg)}60%{opacity:1;filter:brightness(1.1);transform:translateY(8px)scale(.98)}to{opacity:1;filter:none;transform:none}}@keyframes contractPrizeFloat{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-10px)rotate(1deg)}}@media (max-width:850px){.contract-workshop-layout{grid-template-columns:minmax(0,1fr)}.contract-terms{grid-row:1}.contract-six-slots{grid-template-columns:repeat(6,minmax(0,1fr))}.contract-summary{display:none}.contract-entry{flex-wrap:wrap}.contract-entry>button{width:100%}}@media (max-width:600px){.contract-workshop .art-modal-panel{padding:55px 20px 25px}.contract-workshop .art-modal-panel>.paint-mark{inset:-7px}.contract-card-picker{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.contract-cinema-header{align-items:start;padding:22px 72px 8px 18px}.contract-cinema-header .eyebrow{font-size:8px}.contract-cinema-header h2{font-size:23px}.contract-cinema-header>button{padding:8px}.contract-cinema-footer{padding-inline:16px}.contract-cinema-footer h3{font-size:23px}.contract-cinema-footer>p:not(.eyebrow){font-size:18px}.contract-result-actions{flex-direction:column;align-items:stretch}.contract-theatre{height:clamp(250px,100dvh - 355px,600px)}}@media (prefers-reduced-motion:reduce){.contract-scene *,.contract-scene.is-playing *{transition:none!important;animation:none!important}.contract-vortex,.contract-filter,.contract-burst-particles,.contract-stamp-dust{display:none}}
