:root{color-scheme:dark;--navy:#090b1b;--navy2:#10152b;--black:#05060c;--gold:#f2c970;--gold2:#b78b3c;--purple:#9f82ff;--purple2:#583ea7;--electric:#b8a7ff;--red:#ff465f;--green:#75dfac;--white:#fffaf0;--muted:#aab0c7;--line:#ffffff20;--font:'DM Sans',system-ui,sans-serif;--display:'Barlow Condensed',Impact,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 50% -18%,#2d2a52 0,transparent 45%),var(--navy);color:var(--white);font:15px/1.5 var(--font);overflow-x:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}.hidden{display:none!important}.topbar{height:74px;position:sticky;top:0;z-index:15;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,4vw,56px);border-bottom:1px solid #ffffff17;background:#080a18eF;backdrop-filter:blur(16px)}.wordmark{display:flex;align-items:center;gap:10px;font:700 19px/1 var(--display);letter-spacing:.09em}.wordmark>span:last-child{display:grid;gap:4px}.wordmark small{font:600 9px var(--font);letter-spacing:.23em;color:var(--gold)}.mark-x{width:36px;height:36px;border:1px solid var(--gold);border-radius:10px;display:grid;place-items:center;color:var(--gold);font:800 26px var(--display);transform:skew(-5deg);box-shadow:0 0 18px #efcc6b30}.top-actions{display:flex;align-items:center;gap:16px}.live{display:inline-flex;align-items:center;gap:7px;letter-spacing:.16em;font-size:11px;font-weight:800;color:#ff8d9b}.live i,.stage-pulse i{width:7px;height:7px;display:inline-block;border-radius:100%;background:var(--red);box-shadow:0 0 12px var(--red);animation:livepulse 1.8s infinite}.sound-toggle{height:42px;width:42px;border:1px solid var(--line);background:#ffffff08;border-radius:50%;font-size:18px;cursor:pointer}.studio-shell{max-width:1440px;margin:auto;padding:34px clamp(14px,4vw,56px) 0;min-height:calc(100vh - 74px)}.stage-panel{position:relative;overflow:hidden;border:1px solid #ffffff24;border-radius:22px;background:linear-gradient(112deg,#0d1127f5,#101229e8 60%,#281d47e8);box-shadow:0 20px 55px #0005,inset 0 1px #fff2}.welcome{padding:24px clamp(18px,3vw,40px) 20px;min-height:183px}.welcome:before,.welcome:after{content:"";position:absolute;inset:-80% auto auto 20%;height:250%;width:180px;transform:rotate(28deg);background:linear-gradient(90deg,transparent,#c4aeff0d,transparent);pointer-events:none}.welcome:after{left:auto;right:15%;transform:rotate(-28deg)}.host-row{display:flex;align-items:center;gap:13px;position:relative;z-index:1}.host-avatar{width:49px;height:49px;display:grid;place-items:center;border:1px solid #f2cf73aa;border-radius:16px;background:linear-gradient(145deg,#322754,#0a0b17);color:var(--gold);font:800 34px var(--display);box-shadow:0 0 20px #f1cc6c29}.eyebrow{color:var(--gold);letter-spacing:.19em;font-size:10px;font-weight:800}.host-row h1{font:700 20px var(--display);letter-spacing:.07em;margin:3px 0 0}.lower-third{margin-left:auto;border-left:2px solid var(--gold);padding:7px 11px;color:#c6c9d6;background:#fff1;font-size:9px;letter-spacing:.15em;font-weight:700}.host-greeting{position:relative;z-index:1;margin:15px 0 0 62px;color:#edeaf5;font-size:clamp(16px,2vw,20px);line-height:1.5}.spotlight{position:absolute;top:-110px;width:180px;height:320px;filter:blur(26px);opacity:.18;transform:rotate(29deg);pointer-events:none}.spotlight-a{left:13%;background:linear-gradient(transparent,#a38af8,transparent)}.spotlight-b{right:20%;background:linear-gradient(transparent,#f6cf72,transparent);transform:rotate(-29deg);opacity:.12}.studio-title{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:34px 0 18px}.studio-title h2{margin:5px 0 0;font:600 clamp(24px,4vw,36px)/1.05 var(--display);letter-spacing:.02em}.stage-pulse{display:flex;gap:5px;padding-bottom:6px}.stage-pulse i{background:var(--gold);box-shadow:0 0 13px #ecc76d}.stage-pulse i:nth-child(2n){animation-delay:.3s}.segments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.segment{min-height:360px;position:relative;isolation:isolate;overflow:hidden;border-radius:24px;border:1px solid #ffffff29;padding:28px clamp(20px,3vw,38px);display:flex;align-items:center;background:linear-gradient(130deg,#151b37 0,#111426 68%,#090b17 100%);box-shadow:0 18px 50px #0005,inset 0 1px #fff2;transition:transform .3s,border-color .3s}.segment:hover{transform:translateY(-4px);border-color:#f1cc6c7a}.segment:before{content:"";position:absolute;inset:-20%;z-index:-1;background:radial-gradient(ellipse at 82% 44%,#9c83ff22,transparent 39%)}.segment-deal:before{background:radial-gradient(ellipse at 82% 44%,#efc86924,transparent 42%)}.segment-lights{position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,#ffffff05 50%,transparent 74%);animation:ledscan 8s linear infinite}.door-number{position:absolute;right:20px;top:17px;color:#ffffff35;font:700 16px var(--display);letter-spacing:.12em}.door-number span{font:600 8px var(--font);letter-spacing:.18em}.segment-copy{position:relative;z-index:2;max-width:66%}.segment-copy h3{font:800 clamp(34px,5vw,56px)/.96 var(--display);letter-spacing:.04em;margin:10px 0;color:#f8e3a6;text-shadow:0 0 20px #eec76522}.segment-tarot .segment-copy h3{color:#d2c2ff;text-shadow:0 0 24px #9f82ff55}.segment-copy p{max-width:330px;color:#bec4d7;font-size:14px;margin:12px 0 22px}.button{min-height:50px;padding:0 19px;border-radius:12px;border:1px solid transparent;display:inline-flex;justify-content:center;align-items:center;gap:13px;font-weight:800;letter-spacing:.02em;cursor:pointer;transition:filter .2s,transform .2s,box-shadow .2s}.button:hover{filter:brightness(1.08);transform:translateY(-1px)}.button:disabled{opacity:.48;cursor:not-allowed;transform:none}.button-gold{background:linear-gradient(115deg,#f6dc91,#dcaf51);color:#211a0d;box-shadow:0 8px 24px #d6a94327}.button-purple{background:linear-gradient(115deg,#b5a1ff,#7961d2);color:#100c21;box-shadow:0 8px 24px #9f82ff2b}.button-outline{background:#ffffff08;border-color:#ffffff38;color:var(--white)}.button-danger{background:#ff465f19;border-color:#ff465f66;color:#ff98a6}.button span{font-size:18px}.door-art{position:absolute;right:7%;top:50%;width:140px;height:205px;transform:translateY(-50%) perspective(500px) rotateY(-14deg)}.door-frame{position:absolute;inset:0;border:2px solid #f0c96c;border-radius:18px;background:linear-gradient(135deg,#ffdf8266,#85622444 28%,#16131c 35%,#05060c 80%);box-shadow:0 0 0 6px #c4983a22,0 0 42px #d5ad542c,inset 0 0 18px #f7da792b}.door-core{position:absolute;inset:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #f4cf6a66;border-radius:11px;background:radial-gradient(circle,#302a30,#080911 68%);color:var(--gold)}.door-core b{font:800 64px/.95 var(--display);text-shadow:0 0 22px #f2c97088}.door-core small{letter-spacing:.2em;font-size:9px}.door-beam{position:absolute;left:-30px;top:18px;width:190px;height:2px;background:linear-gradient(90deg,transparent,#ffe899,transparent);box-shadow:0 0 20px #ffe899;animation:beam 3s ease-in-out infinite}.tarot-door-art{position:absolute;right:8%;top:50%;width:170px;height:205px;transform:translateY(-50%);perspective:500px}.floating-card{position:absolute;width:89px;height:145px;border:1px solid #d8cbff;border-radius:12px;background:repeating-linear-gradient(45deg,#201a3c,#201a3c 5px,#282047 5px,#282047 10px);display:grid;place-items:center;color:#e1d4ff;box-shadow:0 0 30px #8a74ef35}.floating-card:before{content:"";position:absolute;inset:7px;border:1px solid #bba5ff66;border-radius:8px}.floating-card span{font:700 32px var(--display)}.floating-card i{position:absolute;width:25px;height:25px;border:1px solid #c7b3ff88;transform:rotate(45deg)}.card-one{left:8px;top:27px;transform:rotate(-17deg)}.card-two{left:42px;top:12px;z-index:2;transform:rotate(2deg)}.card-three{right:0;top:31px;transform:rotate(18deg)}footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:44px 0 0;padding:22px 0 26px;border-top:1px solid var(--line);color:#abb0c4;font-size:11px}footer span{font:700 15px var(--display);letter-spacing:.13em;color:#ded7c3}footer small{color:#9aa0b6}.game-stage{position:relative;margin-top:12px;min-height:calc(100vh - 180px);padding:clamp(17px,3vw,32px);overflow:hidden;border:1px solid #ffffff2a;border-radius:24px;background:radial-gradient(ellipse at 50% 30%,#27213d66,transparent 54%),linear-gradient(150deg,#10152b,#080a17);box-shadow:0 20px 70px #0007}.game-stage:before{content:"";position:absolute;top:-30%;left:35%;width:30%;height:70%;background:linear-gradient(180deg,#aa8dff22,transparent);filter:blur(25px);transform:rotate(-8deg);pointer-events:none}.stage-nav{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center}.text-button{border:0;background:none;color:#d9d2f2;cursor:pointer;min-height:44px;padding:5px 0}.text-button:hover{color:var(--gold)}.game-heading{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:15px;margin:18px 0}.game-heading h2{font:800 clamp(34px,6vw,54px)/.95 var(--display);letter-spacing:.05em;margin:5px 0;color:#f8e3a6}.tarot-stage .game-heading h2{color:#d0c1ff}.game-heading p{margin:8px 0 0;color:#b6bbce}.segment-count{width:70px;height:70px;border-radius:50%;border:1px solid #eed07b88;box-shadow:0 0 25px #ecc96d27;display:grid;place-items:center;color:var(--gold);font:800 27px var(--display)}.segment-count small{display:block;margin-top:-22px;font:700 8px var(--font);letter-spacing:.15em}.deal-status{position:relative;z-index:1;margin:17px 0;padding:13px 16px;border-left:2px solid var(--gold);background:linear-gradient(90deg,#e9bd5b13,transparent);color:#f2e7c5;font-weight:600}.box-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,2vw,18px);max-width:930px;margin:20px auto 0}.x-box{position:relative;min-width:0;aspect-ratio:1.3/1;border:1px solid #d8b962;border-radius:14px;background:linear-gradient(145deg,#33303a,#171621 30%,#090a11 78%);box-shadow:inset 0 0 18px #f5cc5b0a,0 8px 20px #0005;color:#f5d878;cursor:pointer;overflow:hidden;transition:filter .3s,transform .3s,border-color .3s,box-shadow .3s}.x-box:before{content:"";position:absolute;inset:5px;border:1px solid #d0ad5748;border-radius:10px}.x-box:after{content:"";position:absolute;top:10%;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,#ffedbb66,transparent)}.x-box:hover:not(:disabled){transform:translateY(-4px);box-shadow:0 0 24px #edcc6b41,inset 0 0 26px #f5cc5b16}.box-label{position:relative;z-index:1;display:grid;justify-items:center;gap:1px}.box-label b{font:800 clamp(27px,6vw,46px)/.9 var(--display);letter-spacing:.04em;text-shadow:0 0 20px #ffdc7388}.box-label small{font:700 8px var(--font);letter-spacing:.22em;color:#d8c280}.x-box.held{border:2px solid var(--gold);box-shadow:0 0 0 5px #f4d47822,0 0 35px #f2c9707a,inset 0 0 35px #f2c97024;animation:heldglow 2.5s ease-in-out infinite}.x-box.opened{filter:brightness(.3) grayscale(.7);opacity:.57;cursor:default;transform:scale(.96)}.x-box.locked{pointer-events:none}.x-box.danger{animation:dangerflash .6s ease-in-out 2;border-color:var(--red)}.x-box.win{border-color:var(--gold);box-shadow:0 0 40px #f3d27788}.result-panel{position:relative;z-index:2;max-width:700px;margin:18px auto;padding:20px;border:1px solid #ffffff2d;border-radius:17px;background:#090b18eb;text-align:center;box-shadow:0 15px 45px #0008}.result-panel h3{font:800 clamp(28px,5vw,46px)/1 var(--display);letter-spacing:.08em;margin:0 0 9px}.result-panel p{color:#d4d5df}.result-panel.zonk h3{color:var(--red);text-shadow:0 0 28px #ff465f77}.result-panel.winner h3{color:var(--gold);text-shadow:0 0 28px #f6d47788}.prize-reveal{margin:12px auto;max-width:100%;overflow-wrap:anywhere;border:1px solid #f2ce7855;background:#f2c97012;border-radius:12px;padding:14px;color:#ffe59f;font-weight:700}.prize-reveal img{max-width:min(100%,340px);max-height:320px;object-fit:contain;border-radius:9px}.prize-reveal a{display:inline-flex;margin:4px;color:#ffe49d;text-decoration:underline}.call-overlay,.countdown-overlay{position:fixed;z-index:35;inset:0;display:grid;place-items:center;padding:18px;background:#02030be8;backdrop-filter:blur(8px)}.call-card{width:min(540px,100%);padding:clamp(23px,6vw,48px);text-align:center;border:1px solid #f4d27c77;border-radius:24px;background:radial-gradient(ellipse at 50% 0,#46391d66,transparent 70%),#0c0e1d;box-shadow:0 0 70px #dcb44a2a;animation:callin .5s ease}.incoming{display:inline-block;color:var(--red);font-size:11px;font-weight:900;letter-spacing:.22em;animation:livepulse 1s infinite}.call-card h3{font:800 clamp(43px,10vw,72px)/1 var(--display);color:var(--gold);letter-spacing:.1em;margin:11px 0;text-shadow:0 0 28px #f1ca6a66}.call-card p{color:#d0d1df}.call-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:24px}.countdown-overlay{background:#03040ce8}.countdown-overlay span{font:800 clamp(95px,28vw,220px)/1 var(--display);color:var(--gold);text-shadow:0 0 70px #ffdf7f88;animation:countin .7s ease}.tarot-controls{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:750px;margin:28px auto;padding:clamp(15px,3vw,25px);border:1px solid #9b84dc44;border-radius:18px;background:#14132aab}.spread-choice{min-height:75px;border:1px solid #8d77cb55;border-radius:13px;background:#18172e;color:#efecfa;display:grid;align-content:center;cursor:pointer;text-align:left;padding:12px 16px}.spread-choice strong{font:700 20px var(--display);letter-spacing:.08em;color:#d7c9ff}.spread-choice small{color:#a9a0c5}.spread-choice.selected{border-color:var(--purple);box-shadow:0 0 20px #9277e72b;background:#25203d}.question-field{grid-column:1/-1;display:grid;gap:7px;font-size:12px;color:#cac4dc}.question-field input,.owner-login input,.owner-dashboard input,.owner-dashboard textarea,.owner-dashboard select{width:100%;min-height:48px;border:1px solid #ffffff30;border-radius:10px;background:#080a16;color:var(--white);padding:11px 13px;outline:none}.question-field input:focus,.owner-dashboard input:focus{border-color:var(--purple)}#draw-tarot{grid-column:1/-1;width:100%}.tarot-reading{position:relative;z-index:1;max-width:920px;margin:22px auto;text-align:center}.reading-banner{font:700 14px var(--display);letter-spacing:.25em;color:var(--electric);margin:22px 0}.tarot-card-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;justify-content:center;max-width:840px;margin:auto}.tarot-card-row.one-card{grid-template-columns:minmax(0,260px)}.tarot-card{min-width:0;perspective:900px;min-height:330px;opacity:0;transform:translateY(15px);transition:opacity .4s,transform .4s}.tarot-card.revealed{opacity:1;transform:none}.tarot-card-inner{position:relative;width:100%;min-height:320px;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.tarot-card.revealed .tarot-card-inner{transform:rotateY(180deg)}.tarot-card-back,.tarot-card-front{position:absolute;inset:0;backface-visibility:hidden;border-radius:17px;overflow:hidden}.tarot-card-back{border:1px solid #c9b4ff88;background:#151127 url('/static/img/tarot-geometry.svg') center/cover no-repeat;display:grid;place-items:center;box-shadow:0 10px 32px #0006}.tarot-card-back:after{content:"";position:absolute;inset:10px;border:1px solid #b9a2ff77;border-radius:11px}.tarot-card-back b{font:800 67px var(--display);color:#dacdff;text-shadow:0 0 25px #9576f7}.tarot-card-back small{position:absolute;bottom:22px;font:700 10px var(--font);letter-spacing:.2em;color:#d6caff}.tarot-card-front{transform:rotateY(180deg);padding:17px 13px;border:1px solid #d4c2ff88;background:radial-gradient(circle at 50% 35%,#6350a977,transparent 45%),linear-gradient(160deg,#272044,#100e1d);box-shadow:0 0 35px #9777f033}.tarot-card-front .position{color:#c4b5f7;font-size:9px;letter-spacing:.18em;text-transform:uppercase}.tarot-card-front .glyph{display:grid;place-items:center;width:104px;height:120px;margin:10px auto 9px;border:1px solid #bca5ff77;clip-path:polygon(50% 0,92% 25%,92% 75%,50% 100%,8% 75%,8% 25%);background:linear-gradient(145deg,#51407d66,#0f1027);font:500 42px var(--display);color:#eadfff}.tarot-card-front h3{font:700 23px/1.05 var(--display);margin:0 0 7px}.tarot-card-front .orientation{display:inline-block;margin:2px 0 8px;padding:4px 8px;border-radius:30px;background:#9e86f522;color:#d9ccff;font-size:9px;font-weight:800;letter-spacing:.1em}.tarot-card-front .meaning{font-size:12px;line-height:1.4;color:#ddd8ec}.reading-copy{margin:20px auto 15px;padding:clamp(17px,3vw,27px);text-align:left;border:1px solid #ab94ea4d;border-radius:17px;background:#111224c9}.reading-copy h3{font:700 23px var(--display);color:#d1c2ff;margin:0 0 7px}.reading-copy p{white-space:pre-line;color:#eeebf5;margin:0 0 12px}.reading-copy small{color:#a9a5bc}.toast{position:fixed;z-index:50;left:50%;bottom:20px;transform:translate(-50%,20px);opacity:0;max-width:calc(100% - 32px);padding:12px 17px;border:1px solid #f0cc6f66;border-radius:12px;background:#111323f2;color:#f5e7c4;box-shadow:0 10px 35px #0008;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}.opening{position:fixed;inset:0;z-index:60;background:#02030a;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:32px;transition:opacity .7s,visibility .7s;overflow:hidden}.opening.closed{opacity:0;visibility:hidden;pointer-events:none}.opening-light{position:absolute;top:-80%;width:40%;height:160%;background:linear-gradient(180deg,transparent,#c4a45822,transparent);filter:blur(18px);transform:rotate(12deg);animation:openlight 2.6s ease forwards}.opening-copy{position:relative;text-align:center;display:grid;justify-items:center;opacity:0;animation:opencopy 1s ease .45s forwards}.opening-copy>span{font:800 17px var(--display);letter-spacing:.45em;color:var(--gold)}.opening-copy small{font-size:9px;letter-spacing:.35em;color:#c7c2d4;margin:4px 0 22px}.opening-copy strong{font:800 clamp(54px,14vw,115px)/.73 var(--display);letter-spacing:.03em;color:#fff7df;text-shadow:0 0 35px #e8c46866}.opening-copy i{font-style:normal;color:#d8c994;font-size:13px;letter-spacing:.1em;margin-top:24px}.opening .button{position:relative;opacity:0;animation:opencopy .7s ease 2s forwards;min-width:190px}.opening.closed{display:none}.about-page{min-height:calc(100vh - 165px);max-width:820px;margin:0 auto;padding:clamp(60px,12vw,130px) 22px}.about-page h1{font:800 clamp(43px,8vw,74px)/1 var(--display);color:#f1d78f}.about-page p{max-width:650px;color:#c5c9d8;font-size:17px}.about-footer{max-width:1280px;margin:0 auto;padding:23px}.owner-body{background:radial-gradient(ellipse at 50% 0,#282242,transparent 45%),var(--navy)}.owner-login{width:min(440px,calc(100% - 32px));margin:12vh auto;padding:28px;border:1px solid var(--line);border-radius:20px;background:#111426;box-shadow:0 20px 60px #0007}.owner-login h1,.owner-dashboard h1{font:700 38px var(--display);margin:25px 0 4px}.owner-login p,.owner-dashboard p{color:#afb5cb}.owner-login form,.owner-dashboard form{display:grid;gap:13px;margin:18px 0}.owner-login label,.owner-dashboard label{display:grid;gap:6px;color:#c6caD8;font-size:13px}.form-error{color:#ff8e9d!important}.owner-dashboard{max-width:1000px;margin:0 auto;padding:38px 18px 80px}.owner-dashboard h1{font-size:50px;color:#f2d991}.owner-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.owner-stats div,.owner-panel{padding:17px;border:1px solid var(--line);border-radius:15px;background:#111426}.owner-stats b,.owner-stats small{display:block}.owner-stats b{font:800 32px var(--display);color:var(--gold)}.owner-stats small{color:#aeb3c4}.owner-panel{margin:14px 0}.owner-panel h2{font:700 24px var(--display);margin:0}.owner-panel form{max-width:550px}.owner-items article{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.owner-items p{overflow-wrap:anywhere;margin:4px 0}.owner-items small{color:#a9adc0}.form-error{color:var(--red)}
@keyframes livepulse{50%{opacity:.48;transform:scale(.86)}}@keyframes heldglow{50%{box-shadow:0 0 0 5px #f4d47814,0 0 47px #f2c970a1,inset 0 0 45px #f2c9703b}}@keyframes ledscan{0%,100%{transform:translateX(-40%)}50%{transform:translateX(40%)}}@keyframes beam{50%{opacity:.25;transform:translateY(150px)}}@keyframes dangerflash{50%{background:#7e1824;box-shadow:0 0 45px #ff465f88}}@keyframes callin{from{opacity:0;transform:scale(.94) translateY(15px)}to{opacity:1;transform:none}}@keyframes countin{0%{transform:scale(1.25);opacity:0}25%{opacity:1}100%{transform:scale(1);opacity:1}}@keyframes openlight{0%{opacity:0;transform:rotate(12deg) translateY(-20%)}35%{opacity:1}100%{opacity:.15;transform:rotate(12deg) translateY(80%)}}@keyframes opencopy{to{opacity:1;transform:translateY(0)}from{opacity:0;transform:translateY(10px)}}
@media(max-width:760px){.studio-shell{padding:20px 13px 0}.welcome{min-height:160px;padding:18px}.host-greeting{margin-left:0;font-size:16px}.lower-third{font-size:8px;padding:6px}.segments{grid-template-columns:1fr;gap:13px}.segment{min-height:320px;padding:24px 19px}.segment-copy{max-width:72%}.segment-copy h3{font-size:39px}.segment-copy p{font-size:13px;max-width:250px}.door-art{right:4%;width:100px;height:154px}.door-core{inset:10px}.door-core b{font-size:48px}.door-beam{width:145px;left:-24px}.tarot-door-art{right:2%;width:120px;height:160px}.floating-card{width:67px;height:115px}.card-one{left:0;top:26px}.card-two{left:27px;top:12px}.card-three{right:0;top:31px}.studio-title{margin:25px 0 14px}.studio-title h2{font-size:27px}.box-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:13px}.x-box{aspect-ratio:1.35/1;border-radius:12px}.box-label b{font-size:38px}.game-stage{margin-top:10px;padding:15px 12px;border-radius:19px;min-height:calc(100dvh - 110px)}.game-heading{margin:17px 0}.game-heading h2{font-size:39px}.segment-count{width:55px;height:55px;font-size:21px}.segment-count small{margin-top:-17px;font-size:7px}.call-choice{grid-template-columns:1fr}.tarot-controls{grid-template-columns:1fr;margin:18px auto;padding:13px}.question-field,#draw-tarot{grid-column:auto}.tarot-card-row{gap:7px;grid-template-columns:repeat(3,minmax(0,1fr))}.tarot-card{min-height:295px}.tarot-card-inner{min-height:285px}.tarot-card-front{padding:13px 7px}.tarot-card-front .glyph{width:71px;height:91px;margin:9px auto}.tarot-card-front h3{font-size:17px}.tarot-card-front .meaning{font-size:10px}.tarot-card-back b{font-size:49px}.tarot-card-back small{font-size:8px}.reading-copy p{font-size:14px}footer{align-items:flex-start;flex-direction:column;gap:7px;margin-top:28px;padding:18px 0 23px}.owner-stats{gap:6px}.owner-stats div{padding:11px}.owner-stats b{font-size:25px}.owner-stats small{font-size:10px}.owner-dashboard h1{font-size:39px}}
@media(max-width:380px){.topbar{height:65px;padding:0 12px}.wordmark{font-size:17px}.studio-shell{padding-inline:10px}.segment{min-height:300px;padding:20px 15px}.segment-copy{max-width:76%}.segment-copy h3{font-size:34px}.segment-copy p{font-size:12px}.door-art{right:2%;width:85px;height:136px}.tarot-door-art{right:0;transform:translateY(-50%) scale(.8);transform-origin:right center}.tarot-card-row{grid-template-columns:1fr}.tarot-card-row.one-card{grid-template-columns:minmax(0,1fr)}.tarot-card,.tarot-card-inner{min-height:330px}.tarot-card-front .glyph{width:103px;height:120px}.tarot-card-front h3{font-size:22px}.tarot-card-front .meaning{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.gold-text{color:var(--gold)!important}.game-over{display:block;margin:10px;color:var(--red);font:800 28px var(--display);letter-spacing:.18em}.x-box.opening-box{animation:openbox .9s ease both}.call-active .box-grid{filter:brightness(.48);transition:filter .3s}
@keyframes openbox{45%{transform:scale(1.12) rotateX(13deg);box-shadow:0 0 40px #f3d27788}100%{transform:scale(.96);filter:brightness(.5)}}
.box-grid>button:not(.x-box){grid-column:1/-1;justify-self:center;min-width:min(280px,100%)}.door-core:after{content:"";position:absolute;inset:12px;background:url("/static/img/x-emblem.svg") center/contain no-repeat;opacity:.08;pointer-events:none}
.identity-ref{max-width:560px;font:11px ui-monospace,monospace;overflow-wrap:anywhere;color:#bcb5d0}

.winner-night{background:radial-gradient(ellipse at 50% 20%,#c39b3438,transparent 60%),linear-gradient(150deg,#29200d,#0a0b13)!important}.zonk-night{background:radial-gradient(ellipse at 50% 25%,#b20c2c33,transparent 58%),linear-gradient(150deg,#260d18,#080a14)!important}.confetti-burst{position:fixed;z-index:42;inset:0;overflow:hidden;pointer-events:none}.confetti-piece{position:absolute;top:-20px;width:8px;height:14px;background:var(--gold);animation:confetti-fall 2.2s cubic-bezier(.2,.7,.3,1) forwards}.confetti-piece:nth-child(3n){background:var(--purple)}.confetti-piece:nth-child(3n+1){background:#fff0b2}.confetti-piece.p0{left:7%;animation-delay:0s}.confetti-piece.p1{left:19%;animation-delay:.15s}.confetti-piece.p2{left:32%;animation-delay:.08s}.confetti-piece.p3{left:45%;animation-delay:.22s}.confetti-piece.p4{left:58%;animation-delay:.04s}.confetti-piece.p5{left:71%;animation-delay:.18s}.confetti-piece.p6{left:83%;animation-delay:.11s}.confetti-piece.p7{left:94%;animation-delay:.25s}@keyframes confetti-fall{to{transform:translateY(110vh) rotate(720deg);opacity:0}}

/* ===== One fitted screen: no page scrolling while a game is open ===== */
.volume-box{display:flex;align-items:center;gap:8px}.volume-box input[type=range]{width:90px;accent-color:#e9c765;height:4px}.music-toggle{height:36px;width:36px;border:1px solid var(--line);background:#ffffff08;border-radius:50%;font-size:16px;cursor:pointer;color:#f2d98f}.music-toggle.off{opacity:.45;text-decoration:line-through}
body.in-game{overflow:hidden}
body.in-game .welcome,body.in-game .studio-title,body.in-game footer{display:none}
body.in-game .studio-shell{padding:10px clamp(10px,3vw,40px) 10px;min-height:0}
body.in-game .game-stage{margin-top:0;height:calc(100dvh - 74px - 20px);min-height:0;display:flex;flex-direction:column;padding:clamp(10px,1.8vw,22px)}
body.in-game #tarot-stage{overflow:auto}
#deal-stage .stage-nav{flex:none}
#deal-stage .game-heading{flex:none;margin:6px 0}
#deal-stage .game-heading h2{font-size:clamp(26px,5.2vh,46px);margin:2px 0}
#deal-stage .game-heading p{margin:2px 0 0;font-size:clamp(12px,1.8vh,15px)}
#deal-stage .segment-count{width:clamp(48px,8vh,70px);height:clamp(48px,8vh,70px);font-size:clamp(20px,3.4vh,27px)}
#deal-stage .deal-status{flex:none;margin:6px 0;padding:8px 14px;font-size:clamp(13px,2vh,16px)}
#deal-stage .box-grid{flex:1 1 auto;min-height:0;width:100%;max-width:min(940px,calc((100dvh - 300px) * 2.6));margin:6px auto 0;grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(8px,1.6vh,16px)}
#deal-stage .x-box{aspect-ratio:auto;height:100%;min-height:0}
#deal-stage .box-label b{font-size:clamp(22px,5.5vh,46px)}
#deal-stage .result-panel{flex:none;margin:8px auto 0;padding:12px 16px;max-height:34%;overflow:auto;width:min(700px,100%)}
#deal-stage .result-panel h3{font-size:clamp(22px,4.2vh,42px);margin-bottom:4px}
.prize-reveal img{max-height:min(26vh,300px)}
@media(max-width:700px){
 body.in-game .game-stage{height:calc(100dvh - 64px - 12px);border-radius:18px}
 .topbar{height:64px}.live{display:none}.volume-box input[type=range]{width:64px}
 #deal-stage .box-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));max-width:100%}
 #deal-stage .game-heading p{display:none}
 .welcome{min-height:0;padding:14px 16px}.host-greeting{margin:8px 0 0 0;font-size:15px}.lower-third{display:none}
 .studio-title{margin:16px 0 10px}.studio-title h2{font-size:24px}
 .segments{grid-template-columns:1fr;gap:12px}.segment{min-height:180px;padding:18px}.segment-copy{max-width:62%}.segment-copy h3{font-size:34px;margin:6px 0}.segment-copy p{font-size:12px;margin:6px 0 12px}.door-art{width:96px;height:140px;right:4%}.tarot-door-art{right:2%;transform:translateY(-50%) scale(.7)}
 footer{margin-top:18px;padding:12px 0}
}
@media(max-height:620px){#deal-stage .game-heading p,#deal-stage .stage-nav .eyebrow{display:none}}

body.in-game .game-stage{height:calc(100dvh - 74px - 28px)}
@media(max-width:700px){body.in-game .game-stage{height:calc(100dvh - 64px - 20px)}}
body.in-game .studio-shell{overflow:hidden}
/* Short screens: compact studio home so it also needs no scrolling */
@media(max-height:900px){
 .topbar{height:60px}.welcome{min-height:0;padding:12px 24px}.host-greeting{margin-top:8px;font-size:16px}
 .studio-title{margin:14px 0 10px}.studio-title h2{font-size:26px}
 .segment{min-height:min(320px,38dvh)}.segment-copy h3{font-size:clamp(30px,6.5dvh,52px)}
 footer{margin-top:14px;padding:10px 0 12px}.studio-shell{min-height:0;padding-top:14px}
}
@media(max-height:700px){.welcome{display:none}.segment{min-height:min(260px,36dvh)}.segment-copy p{display:none}}
@media(max-width:700px) and (max-height:760px){.segment{min-height:140px}.segment-copy h3{font-size:28px}.studio-title{display:none}}
@media(max-width:700px){.segment{min-height:164px;padding:16px}.segment-copy h3{font-size:30px}.welcome{padding:12px 14px}.studio-title{margin:12px 0 8px}.studio-title h2{font-size:22px}.segment-copy p{display:block;font-size:12px;margin:4px 0 10px}.segment-copy .button{min-height:42px}}
/* Boxes keep a pleasant landscape shape and still fit the height */
#deal-stage .box-grid{flex:none;width:min(940px,100%,calc((100dvh - 300px) * 2.4));aspect-ratio:2.4/1;max-width:none;margin:8px auto 0}
@media(max-width:700px){#deal-stage .box-grid{width:min(100%,calc((100dvh - 270px) * .78));aspect-ratio:3/4}}
@media(max-height:620px) and (min-width:701px){#deal-stage .box-grid{width:min(940px,100%,calc((100dvh - 210px) * 2.4))}}
/* Result card floats over the bottom of the stage so the page never needs to scroll */
#deal-stage .result-panel{position:absolute;left:12px;right:12px;bottom:12px;margin:0 auto;z-index:6;max-height:50%;overflow:auto;width:auto;max-width:700px;background:#090b18f5}
