/* TambolaCaller — Party Spinner / Lucky Draw / Secret Santa (v55)
   Base styles (nav, header, buttons, themes, content, footer) picture-bingo.css se aate hain */
body[data-theme="kitty"]{--felt:#9D2C5E;--felt-deep:#761D45;--gold:#FFD166;--bg-extra:radial-gradient(380px circle at 85% 5%, rgba(255,209,102,.16), transparent 45%)}
.spin-wrap{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start;margin-top:8px}
@media (max-width:820px){ .spin-wrap{grid-template-columns:1fr} }
.wheel-box{display:flex;flex-direction:column;align-items:center;gap:14px}
.wheel-stage{position:relative;width:min(440px,88vw);aspect-ratio:1}
.wheel-stage canvas{width:100%;height:100%;display:block;border-radius:50%;box-shadow:0 14px 34px rgba(0,0,0,.45)}
.wheel-pin{position:absolute;left:50%;top:-14px;transform:translateX(-50%);width:0;height:0;border-left:18px solid transparent;border-right:18px solid transparent;border-top:34px solid #fff;filter:drop-shadow(0 3px 3px rgba(0,0,0,.45));z-index:2}
.wheel-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:17%;aspect-ratio:1;border-radius:50%;background:var(--paper);border:5px solid var(--felt-deep);display:flex;align-items:center;justify-content:center;font-family:'Lilita One';color:var(--felt);font-size:clamp(11px,2.6vw,16px);z-index:2;cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.35)}
.spin-btn{font:400 26px 'Lilita One';letter-spacing:.06em;background:var(--gold);color:var(--ink);border:none;border-radius:18px;padding:12px 0;width:min(440px,88vw);box-shadow:0 5px 0 rgba(0,0,0,.3);cursor:pointer}
.spin-btn:disabled{opacity:.6;cursor:default}
.spin-btn:active{transform:translateY(2px);box-shadow:0 3px 0 rgba(0,0,0,.3)}
.result{min-height:58px;width:min(440px,88vw);text-align:center;background:rgba(0,0,0,.2);border:2px dashed rgba(251,243,222,.35);border-radius:14px;padding:8px 12px}
.result small{display:block;font-size:12px;font-weight:800;opacity:.75;text-transform:uppercase;letter-spacing:.12em}
.result b{font-family:'Lilita One';font-weight:400;font-size:26px;color:var(--gold);line-height:1.15;word-break:break-word}
.side .panel{margin:0 0 14px}
.side textarea{width:100%;min-height:210px;resize:vertical;line-height:1.5}
.side .count{font-size:12.5px;font-weight:800;margin-top:6px}
.side .count.bad{color:#FCA5A5}
.chk{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:800;margin:8px 0;cursor:pointer}
.chk input{width:18px;height:18px}
.hist{display:flex;flex-direction:column;gap:6px;max-height:220px;overflow:auto}
.hist div{background:var(--paper);color:var(--ink);border-radius:10px;padding:6px 10px;font-weight:800;font-size:13.5px;display:flex;justify-content:space-between;gap:8px}
.hist div i{font-style:normal;opacity:.55;font-weight:700}
.minibar{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.minibar .btn{font-size:12.5px;padding:7px 12px}
/* winner popup */
.pop{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;z-index:60;padding:16px}
.pop.on{display:flex}
.pop-card{position:relative;background:var(--paper);color:var(--ink);border-radius:22px;padding:22px 22px 18px;max-width:440px;width:100%;text-align:center;box-shadow:0 20px 50px rgba(0,0,0,.5);border:6px solid var(--gold);animation:popin .4s ease}
@keyframes popin{0%{transform:scale(.6)}70%{transform:scale(1.04)}100%{transform:scale(1)}}
.pop-card small{display:block;font-weight:800;letter-spacing:.14em;text-transform:uppercase;opacity:.6;font-size:12px}
.pop-card b{display:block;font-family:'Lilita One';font-weight:400;font-size:clamp(30px,8vw,46px);color:var(--felt);margin:6px 0 14px;line-height:1.1;word-break:break-word}
.pop-card .bar{margin:0}
#confetti{position:fixed;inset:0;pointer-events:none;z-index:61}
/* secret santa */
.ss-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:12px}
.ss-list button{font:800 15px 'Nunito Sans';background:var(--paper);color:var(--ink);border:none;border-radius:14px;padding:14px 10px;cursor:pointer;box-shadow:var(--shadow)}
.ss-list button.seen{opacity:.55}
.ss-list button span{display:block;font-size:11.5px;font-weight:700;opacity:.65;margin-top:3px}
.ss-all{margin-top:12px;background:rgba(0,0,0,.2);border-radius:12px;padding:10px 14px;font-weight:700;font-size:14px;line-height:1.8}
/* big screen */
.tvexit{display:none}
body.tv .topnav,body.tv header,body.tv .others,body.tv .tabs,body.tv .content,body.tv footer,body.tv .side,body.tv .noTv{display:none !important}
body.tv{background:var(--felt-deep)}
body.tv .wrap{max-width:none;padding:3vh 2vw}
body.tv .spin-wrap{grid-template-columns:1fr;min-height:94vh;align-content:center;margin:0}
body.tv .wheel-box{gap:1.6vh}
body.tv .wheel-stage{width:min(62vh,86vw);margin-top:2vh}
body.tv .spin-btn{width:min(62vh,86vw);font-size:3.6vh;padding:1.2vh 0}
body.tv .result{width:min(62vh,86vw);min-height:0;padding:.8vh 1.2vh}
body.tv .result b{font-size:5vh}
body.tv .tvexit{display:inline-block}
@media print{ .pop,#confetti{display:none !important} }
