@import url('https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@400;500;600;700&display=swap');
:root{font-family:'Hind Siliguri',system-ui,sans-serif;color:#fffbed;background:#171436;font-size:16px}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 7% 15%,#342669 0,transparent 37%),radial-gradient(circle at 90% 95%,#2b2457,transparent 38%),#171436}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ffe15d;outline-offset:3px}.app{max-width:1320px;margin:auto;min-height:100vh;display:flex;flex-direction:column;padding:0 clamp(18px,4vw,58px)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:90px;border-bottom:1px solid #ffffff25}.brand{display:flex;align-items:center;gap:12px;background:none;border:0;color:#fff;white-space:nowrap;font-weight:800;font-size:1.35rem;padding:0}.brand b{color:#fcdc50}.brand-mark{display:grid;place-items:center;width:48px;height:48px;background:#fcdc50;color:#241941;border-radius:13px;transform:rotate(-7deg);box-shadow:4px 4px 0 #ee497a;font-size:1.25rem}.top-actions{display:flex;align-items:center;gap:14px}.best{font-weight:700;color:#fcdc50}.icon-button,.outline-button,.back-button,.text-button,.hint-button{border:1.5px solid #a9a3d2;background:#29254d;color:#fffbed;border-radius:12px;padding:10px 17px;font-weight:700}.icon-button{width:40px;height:40px;padding:0;font-size:1.4rem}.outline-button:hover,.back-button:hover,.hint-button:hover{background:#403967}.text-button{border:0;background:none;text-decoration:underline;text-underline-offset:5px}.primary-button{border:0;border-radius:14px;background:#fbd34c;color:#272044;font-weight:800;padding:13px 25px;box-shadow:0 5px 0 #dc8139;transition:transform .15s,box-shadow .15s}.primary-button:hover{transform:translateY(2px);box-shadow:0 3px 0 #dc8139}.primary-button:active{transform:translateY(5px);box-shadow:none}.primary-button.huge{font-size:1.35rem;padding:16px 35px}.screen{display:none}.screen.active{display:block}main{flex:1;display:flex;align-items:center}main>.screen.active{width:100%}.home{display:grid!important;grid-template-columns:48% 52%;align-items:center;min-height:min(760px,calc(100vh - 140px));overflow:hidden}.home:not(.active){display:none!important}.home-copy{position:relative;z-index:2;padding:25px 0}.eyebrow{font-size:.94rem;letter-spacing:.12em;color:#f6d04c;font-weight:800}.spark{font-size:1.2rem}.home h1{font-size:clamp(4rem,8.5vw,8.3rem);line-height:.94;letter-spacing:-.05em;margin:18px 0 24px;max-width:7ch;text-shadow:5px 5px 0 #ee4d79}.home h1 em{display:inline-block;font-style:normal;color:#fbd34c;transform:rotate(-4deg)}.subline{font-size:clamp(1.2rem,2vw,1.65rem);font-weight:600;max-width:430px;line-height:1.4}.home-buttons{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:35px}.small-note{color:#bcb5e5;margin-top:24px}.poster{position:relative;height:min(650px,67vw);min-height:460px;border-radius:40% 45% 38% 43%;background:radial-gradient(circle,#ffdf68 0 28%,#f39a52 29% 49%,#ee4b7f 50% 67%,transparent 68%);isolation:isolate}.poster-lines{position:absolute;inset:2%;border-radius:50%;background:repeating-conic-gradient(from 10deg,#ffffff44 0deg 2deg,transparent 2deg 15deg);mask:radial-gradient(circle,transparent 0 49%,black 50%)}.poster .character{position:absolute;object-fit:contain;filter:drop-shadow(8px 12px 0 #25194a70)}.poster .didi{width:62%;height:105%;left:-8%;bottom:-13%;transform:rotate(-3deg)}.poster .bhaipo{width:65%;height:101%;right:-7%;bottom:-18%;transform:rotate(7deg)}.poster-burst{position:absolute;top:1%;right:13%;font-weight:900;font-size:6rem;color:#fff;transform:rotate(22deg)}.poster-label{position:absolute;background:#fffdf5;color:#2b2353;border:3px solid #2b2353;border-radius:50%;padding:9px 18px;font-weight:800;box-shadow:4px 5px 0 #1d1742;z-index:3}.poster-label.l1{left:3%;top:16%;transform:rotate(-12deg)}.poster-label.l2{right:0;bottom:17%;transform:rotate(9deg)}footer{color:#a9a4cc;text-align:center;font-size:.81rem;line-height:1.4;padding:14px 0 22px}.game{padding:23px 0}.game-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:800}.round-label{font-size:1.1rem}.hearts{color:#ff6897;letter-spacing:2px;font-size:1.5rem;white-space:nowrap}.progress-track{height:9px;background:#4e4775;border-radius:20px;margin:18px 0 24px;overflow:hidden}.progress-fill{height:100%;width:0;background:#fbd34c;transition:width .35s}.play-grid{display:grid;grid-template-columns:minmax(250px,.79fr) minmax(360px,1.21fr);gap:22px;min-height:520px}.stage,.question-panel{border-radius:26px}.stage{position:relative;overflow:hidden;min-height:490px;background:radial-gradient(circle at 50% 28%,#ec6696,#ba4d82 58%,#733b83);border:3px solid #fcb74c;isolation:isolate}.stage:after{content:"";position:absolute;inset:0;background:repeating-radial-gradient(circle at 50% 37%,transparent 0 15px,#3e215e13 16px 18px);z-index:-1}.stage-spot{position:absolute;inset:20px;border:1px dashed #ffffff80;border-radius:20px}.stage img{position:absolute;height:88%;width:90%;bottom:-9%;left:5%;object-fit:contain;filter:drop-shadow(6px 9px 0 #612d6d60);transition:transform .4s}.stage img.pop{animation:pop .42s}.stage img.wobble{animation:wobble .45s}.stage img[src*="bhaipo"]{height:95%;bottom:-14%}.speech{position:absolute;top:20px;right:18px;z-index:2;max-width:58%;background:#fffdf4;color:#241a46;border:3px solid #241a46;border-radius:20px 20px 5px 20px;padding:12px 16px;font-weight:800;line-height:1.25;box-shadow:5px 5px 0 #fbd34c;transform:rotate(2deg)}.stage-caption{position:absolute;bottom:15px;left:17px;background:#211944de;color:#fff;border-radius:8px;padding:5px 11px;font-size:.85rem;z-index:2}.question-panel{padding:clamp(22px,3vw,40px);background:#fffdf4;color:#211b42;border:3px solid #28204e;box-shadow:9px 9px 0 #ec5081;display:flex;flex-direction:column}.question-kicker{text-transform:uppercase;color:#ec4473;font-weight:900;letter-spacing:.1em}.question-panel h2{font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.2;margin:16px 0 10px}.story{margin:0 0 20px;color:#574c6b;line-height:1.48;font-size:1.02rem}.options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.option{display:flex;text-align:left;align-items:center;gap:10px;background:#f4f0e8;color:#282044;border:2px solid #c9c0d3;border-radius:13px;min-height:55px;padding:8px 12px;font-weight:700;line-height:1.15;transition:transform .15s,background .15s}.option:hover:not(:disabled){transform:translateY(-2px);background:#fff2bb}.option-letter{font:900 .82rem system-ui;background:#fff;border:1.5px solid #867a9e;border-radius:8px;width:28px;height:28px;display:grid;place-items:center;flex:none}.option.correct{background:#b9edc2;border-color:#268552}.option.wrong{background:#ffd1da;border-color:#cf4665}.option.eliminated{opacity:.36}.option:disabled{cursor:default}.feedback{min-height:45px;margin:15px 0 4px;font-weight:700;line-height:1.35}.feedback.good{color:#16733c}.feedback.bad{color:#ae3152}.feedback.hint{color:#744398}.question-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:auto}.hint-button{background:#ece5ff;color:#4d3481;border-color:#a88acb}.hint-button small{font-size:.75rem;white-space:nowrap}.hint-button:disabled{opacity:.45;cursor:default}.next{margin-left:auto}.score-strip{display:flex;gap:25px;align-items:center;padding:22px 5px 4px;color:#c5bfde}.score-strip strong{color:#fbd34c;font-size:1.25rem}.satire-note{margin-left:auto;font-size:.85rem}.result{position:relative;min-height:610px;display:none;align-items:center;justify-content:center}.result.active{display:flex}.result-card{position:relative;z-index:2;background:#fffdf4;color:#261e4b;border-radius:30px;border:4px solid #fbd34c;padding:40px;max-width:510px;width:100%;box-shadow:14px 15px 0 #ec4c81;text-align:center;transform:rotate(-2deg)}.result-eyebrow{color:#ec4c81;font-weight:800}.result h2{font-size:2rem;line-height:1.2}.score-number{font:900 clamp(5rem,12vw,9rem)/1 system-ui;color:#20194b;text-shadow:6px 6px #fbd34c}.result-buttons{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.result .outline-button{color:#261e4b;background:#fff}.result-character{height:400px;position:absolute;right:3%;bottom:0;filter:drop-shadow(7px 7px #130e3299)}.confetti{position:absolute;top:20px;font-size:7rem;color:#fbd34c;letter-spacing:4rem}.modal{border:3px solid #fbd34c;border-radius:25px;padding:25px;width:min(95vw,580px);max-height:88vh;overflow:auto;background:#fffdf4;color:#211b42;box-shadow:12px 12px 0 #ec4c81}.modal::backdrop{background:#100c2bdd;backdrop-filter:blur(5px)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.modal h2{margin:0;font-size:1.8rem}.modal .eyebrow{color:#d34171}.close{border:0;background:#e9e1f1;border-radius:9px;font:700 1.7rem/1 sans-serif;width:40px;height:40px;color:#332658}.modal p{line-height:1.5}.audio-modal{width:min(96vw,740px)}.modal-intro{margin:8px 0 18px;color:#605671}.audio-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.audio-form label{display:flex;flex-direction:column;gap:4px;font-weight:800}.audio-form .wide{grid-column:span 2}.audio-form input:not([type=file]),.audio-form select,.audio-form input[type=file]{border:2px solid #b3a9c8;border-radius:9px;background:white;min-height:42px;color:#292044;padding:7px;width:100%}.audio-form input[type=file]{font-size:.85rem}.audio-form button{justify-self:start}.optional{font-weight:400;color:#837791}.audio-status{min-height:1.5em;color:#713b92;font-weight:700}.audio-list{display:grid;gap:7px;margin-top:6px;max-height:240px;overflow:auto}.audio-row{display:flex;align-items:center;gap:10px;border:1px solid #d7ccdf;background:#f7f3ef;border-radius:10px;padding:8px 10px}.audio-row .clip-info{flex:1;min-width:0}.clip-info strong,.clip-info span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clip-info span{font-size:.82rem;color:#685c77}.mini-button{border:1px solid #b4a9c8;background:white;border-radius:8px;padding:5px 9px;color:#30244e}.audio-empty{color:#736a7c;border:1px dashed #b6aaca;border-radius:10px;padding:18px;text-align:center}.audio-settings{border-top:1px solid #ddd1e1;margin-top:20px;padding-top:14px;display:grid;gap:8px}.audio-settings label{display:flex;gap:8px;align-items:center;justify-content:space-between}.audio-settings input{flex:1;max-width:190px;accent-color:#eb4b80}.audio-settings output{min-width:48px;text-align:right}.backup{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.backup .outline-button{background:#fff;color:#322650;border-color:#a99bbf}.import-label{cursor:pointer}.privacy-note{font-size:.83rem;color:#766c7e}@keyframes pop{50%{transform:scale(1.09) rotate(-3deg)}}@keyframes wobble{25%{transform:rotate(-5deg)}75%{transform:rotate(4deg)}}@media(max-width:800px){.topbar{min-height:72px}.home{grid-template-columns:1fr;min-height:unset;padding-top:20px}.home-copy{text-align:center;padding:10px 0 0}.home h1{max-width:none;font-size:clamp(4.2rem,16vw,7rem);margin:8px 0 10px}.subline{margin:0 auto}.home-buttons{justify-content:center;margin-top:20px}.poster{width:min(100%,520px);height:440px;min-height:0;margin:-15px auto 5px}.play-grid{grid-template-columns:1fr;gap:13px}.stage{min-height:220px;max-height:250px}.stage img{height:130%;width:55%;left:22%;bottom:-48%}.stage img[src*="bhaipo"]{height:140%;bottom:-48%}.stage-caption{display:none}.speech{right:10px;top:12px;max-width:48%;font-size:.9rem}.question-panel{min-height:400px}.result-character{opacity:.28;right:-12%;height:500px}}@media(max-width:520px){.app{padding:0 15px}.brand{font-size:1.08rem}.brand-mark{width:36px;height:36px;font-size:1rem}.top-actions{gap:6px}.best{font-size:.85rem}.top-actions .outline-button{font-size:0;padding:7px 9px}.top-actions .outline-button:before{content:'♫';font-size:1.3rem}.home h1{font-size:clamp(3.8rem,16vw,5rem)}.poster{height:330px;width:100%;margin:0 auto}.poster-label{font-size:.82rem}.poster .didi{left:-13%}.poster .bhaipo{right:-13%}.poster-burst{font-size:3.5rem}.small-note{margin:12px 0}.game{padding:14px 0}.round-label{font-size:.87rem}.hearts{font-size:1.1rem}.back-button{padding:6px 9px;font-size:.85rem}.progress-track{margin:11px 0}.stage{min-height:170px;max-height:170px}.stage img{height:165%;bottom:-74%}.stage img[src*="bhaipo"]{height:180%;bottom:-77%}.speech{font-size:.78rem;max-width:54%;padding:7px}.question-panel{padding:17px;box-shadow:5px 5px 0 #ec5081;min-height:0}.question-panel h2{margin:8px 0;font-size:1.3rem}.story{font-size:.95rem;margin-bottom:12px}.options{gap:7px}.option{min-height:50px;padding:6px;font-size:.88rem;gap:5px}.option-letter{width:23px;height:23px}.feedback{margin:10px 0 4px;min-height:36px;font-size:.9rem}.hint-button,.next{padding:7px 11px;font-size:.9rem}.score-strip{gap:13px;padding:13px 0}.satire-note{display:none}.audio-form{grid-template-columns:1fr}.audio-form .wide{grid-column:auto}.modal{padding:18px}.audio-settings label{font-size:.85rem}.audio-settings input{max-width:100px}.result-card{padding:25px}.confetti{font-size:4rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.included-sounds{display:grid;gap:8px;background:#f0eafb;border:1px solid #d5c3e5;border-radius:13px;padding:14px;margin:8px 0 14px;color:#362950}.included-sounds span:last-child{font-size:.84rem;color:#786b85}.included-sounds .mini-button{margin-right:7px}.recording-editor{margin-top:20px;border-top:2px solid #e6dae9;padding-top:17px}.recording-editor h3{margin:0;font-size:1.25rem}.recording-editor p{color:#665a75;margin:4px 0 10px;font-size:.92rem}.recording-editor audio{width:100%}.recording-form{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:10px}.recording-form label{display:flex;flex-direction:column;font-weight:700;gap:4px}.recording-form input,.recording-form select{width:100%;min-height:40px;border:2px solid #b3a9c8;border-radius:9px;padding:6px;background:#fff;color:#282044}.recording-form .mark-buttons{display:flex;align-items:end;gap:7px}.recording-form .primary-button{justify-self:start}.audio-modal{max-height:90vh}@media(max-width:520px){.recording-form{grid-template-columns:1fr}.recording-form .mark-buttons{align-items:center}.included-sounds{font-size:.87rem}}
.sound-notice{background:#fbd34c;color:#261d43;padding:9px 14px;margin:9px 0 0;border-radius:9px;font-weight:700;text-align:center}.sound-notice[hidden]{display:none}
.question-modal{width:min(96vw,780px)}.mode-switch{display:flex;align-items:center;gap:10px;background:#f1eafa;padding:11px;border-radius:11px;font-weight:700}.mode-switch input{width:20px;height:20px;accent-color:#e74b80}.question-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:16px 0 9px}.question-list{max-height:260px;overflow:auto;display:grid;gap:7px}.question-row{display:flex;align-items:center;gap:10px;padding:9px;border:1px solid #d6cbdd;background:#f7f3ef;border-radius:10px}.question-row.hidden-question{opacity:.6}.question-row .question-info{flex:1;min-width:0}.question-row strong,.question-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.question-row small{color:#756a82}.question-row .question-controls{display:flex;gap:5px}.question-form{margin:15px 0;background:#f2edf9;border:1px solid #cbbad9;border-radius:13px;padding:15px;display:grid;gap:10px}.question-form[hidden]{display:none}.question-form h3{margin:0}.question-form label{display:grid;gap:3px;font-weight:700}.question-form input,.question-form textarea,.question-form select{width:100%;border:2px solid #b3a9c8;border-radius:9px;background:white;color:#292044;padding:7px;min-height:42px}.question-form textarea{resize:vertical}.editor-options,.editor-pair{display:grid;grid-template-columns:1fr 1fr;gap:9px}.editor-actions{display:flex;gap:8px;flex-wrap:wrap}.editor-actions .outline-button{background:white;color:#332650}@media(max-width:520px){.top-actions #audioBtn,.top-actions #questionsBtn{font-size:0;padding:7px 9px}.top-actions #audioBtn:before{content:'♫';font-size:1.3rem}.top-actions #questionsBtn:before{content:'✎';font-size:1.3rem}.editor-options,.editor-pair{grid-template-columns:1fr}.question-row{align-items:flex-start}.question-row .question-controls{flex-direction:column}.question-toolbar strong{font-size:.85rem}}

body #audioBtn,body #questionsBtn,body #shareBtn,body #audioDialog,body #questionDialog{display:none!important}

/* Three-frame transparent 3D character sheets: calm, concerned, delighted. */
.poster .character,.stage img,.result-character{object-fit:cover;object-position:0% center}
.poster .didi{width:60%;height:auto;aspect-ratio:1;left:-3%;bottom:1%}
.poster .bhaipo{width:65%;height:auto;aspect-ratio:1;right:-2%;bottom:-4%;object-position:100% center}
.stage img.mood-worried{object-position:50% center}
.stage img.mood-happy,.result-character{object-position:100% center}
.result-character{width:400px;height:400px}
@media(max-width:800px){.result-character{width:min(78vw,450px);height:min(78vw,450px)}}

/* Each square frame occupies exactly one third of the transparent sprite sheet. */
.poster .character,.stage .stage-character,.result-character{display:block;aspect-ratio:1;width:60%;height:auto;background-repeat:no-repeat;background-size:300% 100%;background-position:0% 50%;filter:drop-shadow(6px 9px 0 #25194a70)}
.character.didi,.stage-character.didi,.result-character.didi{background-image:url('assets/didi-expressions.png')}
.character.bhaipo,.stage-character.bhaipo{background-image:url('assets/bhaipo-expressions.png')}
.poster .character.bhaipo{width:65%;background-position:100% 50%}
.stage .stage-character{position:absolute;width:min(95%,460px);height:auto;bottom:0;left:50%;transform:translateX(-50%);transition:transform .4s}
.stage .stage-character.mood-worried{background-position:50% 50%}
.stage .stage-character.mood-happy,.result-character.mood-happy{background-position:100% 50%}
.stage .stage-character.pop{animation:character-pop .42s}
.stage .stage-character.wobble{animation:character-wobble .45s}
@keyframes character-pop{50%{transform:translateX(-50%) scale(1.08)}}
@keyframes character-wobble{25%{transform:translateX(-50%) rotate(-5deg)}75%{transform:translateX(-50%) rotate(4deg)}}
.result-character{width:400px;height:auto}
@media(max-width:800px){.stage .stage-character{width:min(45%,220px);bottom:0}.result-character{width:min(78vw,450px)}}
@media(max-width:520px){.stage .stage-character{width:min(45%,160px);bottom:0}.poster .character.didi{left:-7%}.poster .character.bhaipo{right:-7%}}

/* Hide tiny overlap drawn across the boundaries of generated poses. */
.poster .character,.stage .stage-character,.result-character{clip-path:inset(0 4% 0 4%)}

.player-name-label{display:grid;gap:6px;max-width:330px;font-weight:700;margin-top:15px}.player-name-label input{width:100%;padding:11px 14px;border:2px solid #fbd34c;border-radius:11px;background:#fffdf4;color:#261d43;font-size:1rem}.score-sharing-note{font-size:.88rem;line-height:1.4;color:#d7d0ed;margin:7px 0 0}@media(max-width:800px){.player-name-label{margin:15px auto 0;text-align:left}.score-sharing-note{text-align:center}}

.tracking-status{font-size:.9rem;min-height:1.4em;color:#584077;font-weight:700}
