@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#f6f5f1;--ink:#242325;--muted:#79777e;--line:#e6e3df;--pink:#ef88b5;--green:#d7ed9a;--purple:#ded9f4}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #9c3c70;outline-offset:4px}button{border:0}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:36px;letter-spacing:-1.6px}h2{font-size:22px;letter-spacing:-.6px}h3{font-size:17px;letter-spacing:-.3px}.muted{color:var(--muted)}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase}.sidebar{width:226px;background:#fff;height:100vh;position:fixed;border-right:1px solid var(--line);padding:34px 22px;display:flex;flex-direction:column;z-index:10}.brand{font-family:Manrope;font-weight:800;font-size:22px;line-height:1.05;letter-spacing:-1px;display:flex;align-items:center;gap:10px}.brand i{background:var(--pink);color:#242325;border-radius:12px;width:43px;height:43px;display:grid;place-items:center;font-style:normal;font-size:25px}.brand small{font-size:10px;letter-spacing:4px;display:block;margin-top:7px}.nav-label{margin:46px 12px 12px;color:#a19da3;font-size:10px;letter-spacing:1.5px}.nav{display:flex;flex-direction:column;gap:6px}.nav button{display:flex;align-items:center;gap:12px;padding:13px 14px;background:none;color:#79757c;text-align:left;border-radius:9px;font-weight:500}.nav button.active{background:#f8e7ef;color:#a54372}.ico{width:20px;font-size:19px;text-align:center}.nav .count{margin-left:auto;font-size:10px;background:#ef88b5;color:#282229;border-radius:5px;padding:2px 5px}.side-bottom{margin-top:auto}.side-bottom button{background:none;text-align:left;padding:11px;color:#777}.profile{border-top:1px solid var(--line);display:flex;align-items:center;gap:11px;padding-top:22px;margin-top:15px}.avatar{width:36px;height:36px;border-radius:50%;background:#e5d5ce;display:grid;place-items:center;font-weight:700;font-size:12px}.profile small{display:block;margin-top:3px;font-size:11px;color:var(--muted)}.main{margin-left:226px}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 44px;background:#faf9f6}.breadcrumbs{font-size:12px;color:var(--muted)}.breadcrumbs span{color:var(--ink);margin-left:12px}.topright{display:flex;align-items:center;gap:16px}.demo-pill{font-size:10px;font-weight:700;letter-spacing:1px;border:1px solid #dad6cf;border-radius:20px;padding:6px 10px}.role-select{background:transparent;border:0;font-size:12px;color:#5c5960;padding:8px}.content{max-width:1370px;margin:auto;padding:35px 44px 40px}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.intro p{color:var(--muted);margin-top:8px}.badge{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:6px;font-size:11px;background:#fff}.badge.green{background:#edf3dd;color:#54702d}.dot{width:6px;height:6px;background:#80a341;border-radius:50%;display:inline-block}.hero{position:relative;min-height:275px;border-radius:16px;overflow:hidden;background:#201d28;color:#fff;padding:33px 36px;margin-bottom:25px;display:flex;align-items:center}.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 72% 125%,#c459b670,transparent 48%),radial-gradient(ellipse at 102% 0,#a8acc33b,transparent 55%),linear-gradient(115deg,#211d29 35%,#393041);}.hero-copy{position:relative;z-index:2}.hero .eyebrow{color:#dfb7cf}.hero h2{font-size:43px;line-height:1.12;letter-spacing:-2px;margin:15px 0}.hero h2 em{color:#f2a5c7;font-style:normal}.event-meta{display:flex;gap:20px;font-size:12px;color:#d8d0dc;margin:18px 0 22px}.btn{border-radius:8px;padding:12px 17px;font-weight:700;background:#27252b;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px}.btn.pink{background:#f3a0c4;color:#3c2331}.btn.white{background:#fff;color:#333}.btn.light{background:#f0eeeb;color:#444}.btn.small{font-size:11px;min-height:34px;padding:8px 12px}.btn:disabled{opacity:.4;cursor:default}.hero-art{position:absolute;right:10%;top:5px;width:235px;height:235px;transform:rotate(-18deg);opacity:.9}.orb{position:absolute;width:186px;height:186px;top:10px;left:23px;border-radius:50%;background:repeating-linear-gradient(0deg,transparent 0 13px,#262232b0 14px 16px),repeating-linear-gradient(90deg,transparent 0 14px,#272233ba 15px 17px),radial-gradient(circle at 34% 30%,#fff9fe 0,#bdb4cc 20%,#6c607d 55%,#292333 80%);box-shadow:0 0 80px #e8b5e32e,inset -12px -6px 25px #120c1c}.orb:before{content:'';position:absolute;height:70px;width:1px;background:#a39ba8;left:50%;top:-70px}.spark{position:absolute;font-size:55px;color:#fff;top:34px;left:0;text-shadow:0 0 25px #fff}.spark.two{font-size:30px;left:210px;top:180px}.art-label{position:absolute;right:25px;bottom:21px;font-size:10px;letter-spacing:2px;color:#b0a7b5}.grid{display:grid;grid-template-columns:minmax(0,1.58fr) minmax(280px,1fr);gap:24px}.stack{display:flex;flex-direction:column;gap:24px}.card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:24px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:17px}.card-head p{font-size:12px;color:var(--muted);margin-top:6px}.text-btn{background:none;color:#77717c;font-size:11px;padding:5px;white-space:nowrap}.ticket-progress{display:flex;gap:5px;margin:20px 0 7px}.ticket-progress i{height:5px;flex:1;border-radius:8px;background:#ede9e5}.ticket-progress i.filled{background:#bdcd9c}.row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #f0eeeb}.row:last-child{border-bottom:0}.row .details{flex:1;min-width:0}.row .details strong{font-size:12px;display:block}.row .details small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.status{font-size:10px;border-radius:5px;background:#f0f5e8;color:#657d40;padding:5px 7px}.status.pending{background:#fcf0de;color:#a88544}.outline-avatar{border:1px dashed #bfb6c2;background:#faf7fa;color:#a49aab}.callout{border-radius:9px;padding:13px;background:#f7f5f1;line-height:1.5;font-size:11px;color:#89838b;margin-top:14px}.live-card{background:#f0f2e7;border-color:#e2e7d1}.live-kicker{display:flex;gap:7px;align-items:center;font-size:10px;font-weight:800;letter-spacing:1px;color:#70794f;margin-bottom:18px}.live-card h3{font-size:23px;line-height:1.2;max-width:220px}.live-card p{font-size:12px;color:#74776a;margin:10px 0 20px;line-height:1.5}.full{width:100%}.section-foot{display:flex;align-items:center;justify-content:space-between;margin-top:14px;font-size:10px;color:#8a8c7b}.mini-art{width:56px;height:56px;display:grid;place-items:center;border-radius:10px;background:#f6dfea;font-size:28px;flex-shrink:0}.promo{display:flex;gap:17px;align-items:center}.promo p{font-size:12px;line-height:1.6;color:var(--muted);margin:7px 0 12px}.promo .text-btn{padding:0;color:#9d4d78;font-weight:700}.reward{background:#ede9f7;padding:20px;border-radius:11px;display:flex;align-items:center;gap:16px}.gift{font-size:38px;transform:rotate(-8deg)}.reward p{font-size:11px;line-height:1.5;color:#84758d;margin-top:5px}.sponsor-label{font-size:9px;color:#94869d;margin-top:12px;letter-spacing:1px}.bottom-note{margin-top:26px;font-size:10px;line-height:1.6;color:#99929b;display:flex;justify-content:space-between;gap:20px}.tabs{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.tabs button{background:#fff;border:1px solid var(--line);border-radius:20px;padding:9px 15px;color:#777}.tabs button.active{background:#28252d;color:#fff}.library{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.game-art{height:120px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:48px;margin-bottom:18px;background:var(--purple)}.game-card:nth-child(2n) .game-art{background:#f6dbe7}.game-card:nth-child(3n) .game-art{background:#e7edce}.game-card p{font-size:12px;line-height:1.6;color:var(--muted);margin:10px 0 18px;min-height:40px}.tag{font-size:9px;letter-spacing:1px;color:#948493;margin-bottom:8px;display:block}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid .wide{grid-column:1/-1}label{display:block;font-size:12px;font-weight:600}input,select,textarea{display:block;width:100%;border:1px solid #ded9de;border-radius:8px;background:#fff;padding:12px;color:#363039;margin-top:7px}textarea{min-height:90px;resize:vertical}.form-actions{margin-top:20px;display:flex;gap:10px}.empty{padding:30px;color:var(--muted);text-align:center}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.stat{padding:22px;background:#fff;border:1px solid var(--line);border-radius:12px}.stat strong{display:block;font-size:29px;margin-top:8px}.stat small{font-size:11px;color:var(--muted)}.options{display:grid;gap:10px;margin-top:20px}.option{background:#fff;border:1px solid var(--line);padding:15px;border-radius:9px;text-align:left;position:relative;overflow:hidden;min-height:52px}.option.selected{border-color:#ad678b;background:#fbe9f1}.option span{position:relative;z-index:1}.bar{position:absolute;left:0;top:0;bottom:0;background:#e9efda}.screen{min-height:calc(100vh - 76px);padding:55px;text-align:center;background:radial-gradient(ellipse at 50% 120%,#672f5b 0,transparent 65%),#1c1923;color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column}.screen h1{font-size:66px;max-width:950px;margin:23px 0}.screen .eyebrow{color:#e9a3c9}.screen .options{width:min(750px,100%);text-align:left}.screen .option{font-size:22px;color:#fff;background:#ffffff12;border-color:#ffffff20}.screen .bar{background:#a75f8a55}.screen-footer{margin-top:45px;color:#b9a5bb;font-size:13px}.screen .brand{font-size:17px}.screen .btn{margin-top:24px}.screen .winner{font-size:80px;color:#e1eaa8}.screen-note{position:fixed;bottom:15px;right:20px;font-size:10px;color:#a992ae}.notice{padding:12px 15px;background:#f9efd9;color:#8e774a;border-radius:8px;font-size:12px;margin-bottom:22px;line-height:1.6}.ticket-box{background:#28232e;color:white;border-radius:14px;padding:30px;position:relative;overflow:hidden}.ticket-box h2{font-size:30px;margin:20px 0}.ticket-box p{color:#c5b7cd;line-height:1.6}.ticket-code{letter-spacing:3px;font-size:24px;margin:24px 0}.ticket-box .badge{color:#527136;background:#e1edce}.checklist{line-height:2.5;color:#736a77}.toast{background:#28232e;color:#fff}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);background:#28232e;color:#fff;padding:14px 22px;border-radius:10px;z-index:100;opacity:0;pointer-events:none;transition:.2s;max-width:90vw;font-size:13px;box-shadow:0 10px 40px #0002}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:0;border-radius:16px;padding:28px;max-width:490px;width:calc(100% - 36px);box-shadow:0 20px 80px #0003}dialog::backdrop{background:#21162b88;backdrop-filter:blur(4px)}dialog h2{margin-bottom:10px}dialog p{color:var(--muted);line-height:1.7;margin-bottom:20px}.close{float:right;background:#f1edef;border-radius:50%;width:28px;height:28px}.mobile-brand{display:none}.birthday{background:#f9f1f5;padding:16px;border-radius:9px;margin-top:17px}.birthday p{font-size:12px;line-height:1.6;color:#877382;margin-top:5px}.mobile-nav{display:none}.guide-step{padding:15px 0;border-bottom:1px solid var(--line);line-height:1.7}.guide-step b{color:#b65a87;margin-right:10px}.invite-link{font-size:11px;word-break:break-all;padding:12px;background:#f8f4f7;border-radius:8px;margin-top:15px}.flex{display:flex;gap:10px;align-items:center}.goodie-code{font-family:monospace;background:#f5f1f7;padding:20px;font-size:22px;letter-spacing:3px;text-align:center;border:1px dashed #c8b2cf;border-radius:9px;margin:16px 0}.stats-inline{color:#948797;font-size:11px;margin-bottom:18px}
@media(min-width:1500px){.hero{min-height:310px}.hero-art{right:16%}}@media(max-width:1100px){.sidebar{width:190px;padding:30px 16px}.main{margin-left:190px}.content{padding:28px}.topbar{padding:0 28px}.grid{grid-template-columns:1.3fr 1fr;gap:18px}.card{padding:20px}.hero-art{right:5%}.hero h2{font-size:37px}.library{grid-template-columns:1fr 1fr}}@media(max-width:760px){.sidebar{display:none}.main{margin:0}.topbar{height:66px;padding:0 20px}.breadcrumbs{display:none}.mobile-brand{display:block;font-weight:800;letter-spacing:-.5px;font-size:17px}.mobile-brand b{color:#bd5f8c}.topright{gap:6px}.role-select{font-size:10px;max-width:105px}.demo-pill{font-size:8px;padding:5px 7px}.content{padding:24px 18px 100px}.intro{margin-bottom:22px;align-items:flex-start}.intro h1{font-size:29px}.intro p{font-size:12px;max-width:230px;line-height:1.5}.intro>.badge{font-size:9px;white-space:nowrap;padding:6px}.hero{padding:26px 23px;min-height:310px;border-radius:12px}.hero h2{font-size:36px;max-width:230px}.hero-art{right:-65px;top:40px;opacity:.48;transform:rotate(-18deg) scale(.9)}.hero-copy{width:100%}.event-meta{gap:12px;font-size:10px;flex-wrap:wrap}.hero .eyebrow{font-size:9px}.art-label{display:none}.grid{grid-template-columns:1fr;gap:18px}.stack{gap:18px}.card{padding:21px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);padding:9px 6px calc(10px + env(safe-area-inset-bottom));z-index:30;justify-content:space-around}.mobile-nav button{background:none;color:#9b929d;font-size:9px;display:flex;flex-direction:column;align-items:center;gap:5px;padding:3px 6px}.mobile-nav button.active{color:#b64f80}.mobile-nav .ico{font-size:20px}.bottom-note{display:block;margin-top:22px}.bottom-note span{display:block;margin-bottom:8px}.library{grid-template-columns:1fr 1fr;gap:12px}.game-card{padding:15px}.game-art{height:90px}.game-card h3{font-size:15px}.game-card p{font-size:11px;min-height:60px}.game-card .btn{padding:9px 11px;font-size:11px}.stat-grid{grid-template-columns:1fr 1fr;gap:12px}.stat{padding:16px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.screen{padding:35px 20px;min-height:calc(100vh - 66px)}.screen h1{font-size:38px}.screen .option{font-size:16px}.screen-note{position:static;margin-top:40px}.screen .winner{font-size:50px}#toast{bottom:90px}.screen-footer{line-height:1.8}.intro .btn{font-size:10px;padding:10px}.ticket-box{padding:22px}.event-meta span{white-space:nowrap}}
/* Sing With Us visual identity: plum, warm yellow and the original mark. */
:root{--pink:#fff0a8;--green:#d9e5b6;--purple:#e9ddef;--bg:#fbf8f0;--ink:#332338;--line:#e9e1d8}.brand{position:relative;display:flex;align-items:center;gap:6px;justify-content:center}.brand img{width:112px;height:91px;object-fit:contain}.brand small{background:#840e80;color:#fff0a8;font-size:9px;letter-spacing:2px;align-self:flex-end;margin-bottom:20px;padding:4px 6px;border-radius:4px}.sidebar{background:#fffcf6;padding-top:22px}.nav-label{margin-top:30px}.nav button.active{background:#f0dfed;color:#840e80}.nav .count{background:#840e80;color:#fff0a8}.topbar{background:#fffcf7}.hero{min-height:290px;background:#351738}.hero:before{background:linear-gradient(90deg,#30092ef7 0%,#350c36dc 39%,#250a2540 100%),url('party.jpg') center 40%/cover;opacity:1}.hero h2{font-family:Georgia,serif;font-style:italic;font-weight:700;font-size:47px;letter-spacing:-1.7px}.hero h2 em{color:#fff0a8}.hero .eyebrow{color:#f7d4ef}.hero .btn.pink{background:#fff0a8;color:#5d1f60}.btn{background:#820d80}.btn.pink{background:#820d80;color:#fff9d7}.hero .btn{border-radius:22px}.live-card{background:#fff3ba;border-color:#eee0a2}.live-kicker{color:#836620}.live-card .dot{background:#b68b25}.live-card p{color:#897644}.live-card .btn{background:#820d80;color:#fff8d4}.section-foot{color:#9b8451}.mini-art{background:#f0deed;color:#86137d}.promo .text-btn{color:#88117e}.reward{background:#efe3f0}.game-art{color:#810d7e}.game-card:nth-child(2n) .game-art{background:#fff0b2}.game-card:nth-child(3n) .game-art{background:#e8e7d2}.badge.green{color:#647436}.ticket-box{background:#471044}.ticket-box .badge{color:#526329}.birthday{background:#fbf4f8}.mobile-brand b{color:#840e80}.mobile-nav button.active{color:#840e80}.guide-step b{color:#840e80}.option.selected{border-color:#840e80;background:#f3e3f2}.qr-preview{width:140px;height:140px;background:#fff;border-radius:10px}.qr-preview svg{width:100%;height:100%}.consent{display:flex;gap:9px;font-weight:400;line-height:1.6;font-size:11px}.consent input{width:16px;height:16px;flex-shrink:0;margin:1px 0 0;accent-color:#840e80}.screen{background:radial-gradient(ellipse at 50% 120%,#a4379b80,transparent 70%),#360d3a;position:relative;overflow:hidden;padding-bottom:180px}.screen .brand img{width:145px;height:112px}.screen .brand small{margin-bottom:23px}.screen h1{font-family:Georgia,serif;font-style:italic;color:#fff0a8;letter-spacing:-1.5px}.screen .eyebrow{color:#d8aed5}.screen-sub{font-size:20px;color:#e2c5df}.screen-qr{position:absolute;bottom:38px;left:45px;display:flex;align-items:center;gap:18px;text-align:left}.screen-qr>div:first-child{width:95px;height:95px;background:#fff;border-radius:6px;overflow:hidden}.screen-qr svg{width:100%;height:100%}.screen-qr strong{color:#fff0a8;font-size:16px}.screen-qr p{font-size:13px;margin-top:8px}.screen-qr small{display:block;font-size:10px;color:#bc96bc;margin-top:8px}.screen-back{position:absolute;left:25px;top:25px;font-size:11px;color:#cbacca}.screen-fullscreen{position:absolute;right:25px;top:25px;background:#ffffff12;color:#d9bfd7;padding:8px 12px;border-radius:5px}.screen .bar{background:#8c447e}.greeting-window{width:100%;overflow:hidden;margin:15px 0 30px;text-align:left;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}.greeting-track{display:flex;gap:25px;width:max-content;animation:greetings 35s linear infinite}.screen-greeting{width:490px;min-height:200px;flex-shrink:0;border:1px solid #ffffff25;background:#ffffff0a;border-radius:16px;padding:28px}.screen-greeting>span{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#dba9d6}.screen-greeting h2{font-family:Georgia,serif;font-size:31px;font-style:italic;color:#fff0a8;margin:13px 0}.screen-greeting p{font-size:19px;line-height:1.5;white-space:normal;overflow-wrap:anywhere}.screen-greeting small{display:block;color:#cfaccb;margin-top:20px}.screen-note{position:absolute;bottom:12px;right:20px;color:#aa85a9;font-size:9px}.screen .winner{color:#fff0a8}.intro h1 span{color:#840e80}@keyframes greetings{to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){.greeting-track{animation:none;flex-wrap:wrap;width:auto}.screen-greeting{width:min(490px,100%)}}
@media(max-width:760px){.hero{min-height:300px}.hero h2{font-size:39px}.hero:before{background:linear-gradient(90deg,#30092eee,#350c3690),url('party.jpg') 60% center/cover}.hero .event-meta{font-size:11px}.hero .btn{margin-top:8px}.screen{padding-bottom:220px}.screen h1{font-size:39px}.screen .brand img{width:110px;height:90px}.screen-back{font-size:9px;left:15px;top:15px}.screen-fullscreen{font-size:9px;right:15px;top:15px}.screen-qr{left:20px;right:20px;bottom:55px;gap:12px}.screen-qr strong{font-size:13px}.screen-qr p{font-size:11px}.screen-qr>div:first-child{width:80px;height:80px;flex-shrink:0}.screen-qr small{font-size:8px}.screen-note{font-size:8px;left:20px;bottom:20px;text-align:left}.screen-greeting{width:300px;padding:22px}.screen-greeting h2{font-size:25px}.screen-greeting p{font-size:16px}.screen-sub{font-size:15px}.intro>.badge{max-width:115px;white-space:normal;text-align:center}.intro h1{font-size:27px}}
body.screen-mode .sidebar,body.screen-mode .topbar{display:none}body.screen-mode .main{margin:0}body.screen-mode .screen{min-height:100vh}.screen-mode .greeting-window{max-width:1600px}.screen-mode .screen .brand{margin-top:-15px}
@media(min-width:761px) and (max-height:850px){.screen{padding:22px 40px 145px;min-height:100vh;height:100vh;justify-content:flex-start}.screen .brand img{height:75px;width:110px}.screen .brand small{margin-bottom:15px}.screen .eyebrow{margin-top:12px!important}.screen h1{font-size:52px;margin:18px 0;line-height:1.08}.screen .greeting-window{margin:12px 0 20px}.screen .screen-greeting{min-height:175px;padding:22px}.screen .screen-greeting h2{font-size:27px;margin:10px 0}.screen .screen-greeting p{font-size:17px}.screen .options{margin-top:18px;gap:8px}.screen .option{min-height:47px;padding:12px;font-size:18px}.screen .screen-sub{font-size:16px}.screen .screen-qr{bottom:30px}.screen .screen-qr>div:first-child{width:90px;height:90px}}
.screen .option.selected{background:#ffffff12;border-color:#ffffff20}.screen .option{opacity:1;color:#fff}.screen .option.selected .bar{background:#8c447e}
/* Celebrate photos stay attached to their own greeting through moderation and display. */
.photo-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:11px}.photo-actions .btn{font-size:12px}.file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0;border:0;white-space:nowrap}.field-help{font-size:10px;color:#89808b;line-height:1.6;margin-top:9px}.character-count{display:block;text-align:right;font-size:10px;color:#8e8291;margin-top:5px;font-weight:400}.greeting-name-input{background:#820d80;color:#fff0a8;font-family:Georgia,serif;font-style:italic;font-weight:700;font-size:21px;border-color:#820d80}.greeting-name-input::placeholder{color:#f0d68d}.greeting-preview-wrap{margin-top:4px}.greeting-preview-wrap>.eyebrow{display:block;margin-bottom:11px}.greeting-card{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:245px;overflow:hidden;border-radius:12px;background:radial-gradient(ellipse at 100% 0,#a53794,#360d3a 85%);color:#fff;padding:24px;aspect-ratio:16/11;border:1px solid #ffffff1f;text-align:left}.greeting-card .greeting-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center}.greeting-card .greeting-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#210b2708 0%,#210b2720 20%,#250729d9 78%,#250729f2 100%)}.greeting-card .greeting-copy{width:100%;min-width:0}.greeting-card .greeting-occasion{display:block;color:#f2d8ec;text-transform:uppercase;font-size:9px;letter-spacing:2px;margin-bottom:11px}.greeting-card .greeting-name{display:table;max-width:100%;padding:7px 13px;background:#820d80;color:#fff0a8;font-family:Georgia,serif;font-size:29px;line-height:1.1;font-style:italic;font-weight:700;letter-spacing:-.6px;margin:0 0 13px;border-radius:3px;overflow-wrap:anywhere}.greeting-card .greeting-message{font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.45;color:#fff;margin:0 0 13px;overflow-wrap:anywhere;white-space:pre-line}.greeting-card .greeting-from{display:block;font-size:10px;line-height:1.3;color:#eedcea;margin:0}.birthday.greeting-entry{padding:0;background:none}.greeting-status{display:flex;align-items:center;gap:10px;margin-top:10px}.greeting-status small{font-size:10px}.greeting-entry .form-actions{margin-top:12px}.greeting-entry+.greeting-entry{margin-top:24px}.preview-greeting{aspect-ratio:16/10;min-height:250px}.screen .screen-greeting.greeting-card{width:510px;min-height:290px;padding:28px;aspect-ratio:16/10;flex-shrink:0}.screen .screen-greeting .greeting-name{font-size:37px;margin:0 0 15px;padding:8px 16px}.screen .screen-greeting .greeting-message{font-size:21px;line-height:1.4;margin:0 0 14px}.screen .screen-greeting .greeting-from{font-size:12px;margin:0}.screen .screen-greeting .greeting-occasion{font-size:10px;margin-bottom:12px}.photo-actions [hidden]{display:none}
@media(min-width:761px) and (max-height:850px){.screen .screen-greeting.greeting-card{width:460px;min-height:250px;padding:23px;aspect-ratio:16/10}.screen .screen-greeting .greeting-name{font-size:31px;margin:0 0 11px}.screen .screen-greeting .greeting-message{font-size:18px;margin:0 0 11px}.screen .screen-greeting .greeting-occasion{margin-bottom:9px}.screen .greeting-window{margin-top:8px}}
@media(max-width:760px){.greeting-card{padding:21px;min-height:245px}.greeting-card .greeting-name{font-size:27px}.greeting-card .greeting-message{font-size:15px}.screen .screen-greeting.greeting-card{width:310px;min-height:260px;padding:22px}.screen .screen-greeting .greeting-name{font-size:29px}.screen .screen-greeting .greeting-message{font-size:16px}.screen .screen-greeting .greeting-from{font-size:10px}.screen .greeting-window{margin-top:10px}.photo-actions{gap:8px}.photo-actions .btn{padding:10px 13px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.screen .screen-greeting.greeting-card{width:min(510px,100%)}}
.greeting-card{width:100%;min-width:0}.grid>.stack,.grid>.card{min-width:0}
.greeting-track.single-greeting{animation:none;width:100%;justify-content:center}
/* Song-length driven Celebrate slideshow. */
.slideshow-control{border-color:#d9c0d6;box-shadow:0 4px 22px #6d156707}.show-icon{font-size:25px;color:#820d80;background:#f0e2ee;padding:10px 13px;border-radius:12px}.song-duration-row{display:flex;align-items:center;gap:12px;margin-top:9px}.song-duration-row input{margin:0;font-size:30px;font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-1px;width:150px;border-color:#cbb0cb;background:#fffdf9}.song-duration-row>span{font-size:12px;color:#9a8498}.show-plan-heading{display:flex;justify-content:space-between;gap:10px;margin:22px 0 4px;font-size:12px}.show-plan-heading>span{color:#8f7c91}.show-category{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #eee5ec}.show-category strong{font-size:12px}.show-category small{display:block;font-size:10px;color:#908294;margin-top:5px}.show-category>div:last-child{text-align:right;flex-shrink:0}.show-category b{font-size:16px;color:#820d80}.show-plan-ok{font-size:11px;color:#667c3f;background:#f1f5e8;padding:11px 13px;border-radius:7px;margin-top:14px}.show-warning{margin:14px 0 0;font-size:11px;border:1px solid #ead09a}.show-warning strong{display:inline-block;margin-bottom:4px}.show-live-status{font-size:11px;line-height:1.6;color:#79517c;background:#f6eff6;padding:10px 12px;border-radius:7px;margin-top:14px}.show-progress-track{position:absolute;left:0;right:0;bottom:0;height:4px;background:#ffffff15}.show-progress-track i{display:block;height:100%;width:0;background:#fff0a8;transition:width .12s linear}.timed-slideshow-stage{width:min(780px,100%);margin:12px auto 0;flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.greeting-card.timed-greeting{width:100%;min-height:0;aspect-ratio:16/9;max-height:100%;animation:slide-reveal .4s ease-out;padding:30px 34px}.timed-greeting .greeting-name{font-size:42px}.timed-greeting .greeting-message{font-size:26px}.timed-greeting .greeting-from{font-size:13px}.timed-slide-meta{width:100%;display:flex;justify-content:space-between;color:#bd99bb;font-size:10px;margin-top:10px;gap:10px}.show-neutral{text-align:center;padding:30px}.show-neutral h2{font-family:Georgia,serif;font-style:italic;font-size:42px;color:#fff0a8}.show-neutral p{color:#ceb2ca;font-size:16px;margin-top:15px}.timed-celebrate-screen{height:100dvh;min-height:650px!important;padding:24px 40px 140px;justify-content:flex-start}.timed-celebrate-screen .brand img{width:100px;height:70px}.timed-celebrate-screen .eyebrow{margin-top:8px!important}.timed-celebrate-screen h1.timed-show-title{font-size:43px;margin:14px 0 4px;line-height:1.08}.timed-celebrate-screen .screen-qr{bottom:25px}.timed-celebrate-screen .screen-qr>div:first-child{height:82px;width:82px}.timed-celebrate-screen .screen-note{bottom:10px}@keyframes slide-reveal{from{opacity:0;transform:translateX(15px)}to{opacity:1;transform:translateX(0)}}
@media(min-width:761px) and (max-height:850px){.timed-celebrate-screen{padding:18px 40px 132px;height:100dvh}.timed-celebrate-screen .brand img{height:53px;width:85px}.timed-celebrate-screen .brand small{margin-bottom:10px}.timed-celebrate-screen h1.timed-show-title{font-size:35px;margin:12px 0 0}.timed-slideshow-stage{width:min(650px,100%);margin-top:10px}.timed-greeting .greeting-name{font-size:34px}.timed-greeting .greeting-message{font-size:22px}.greeting-card.timed-greeting{padding:23px 28px}}
@media(max-width:760px){.timed-celebrate-screen{padding:40px 18px 180px;min-height:680px!important}.timed-celebrate-screen h1.timed-show-title{font-size:30px;line-height:1.15}.timed-celebrate-screen .brand img{height:70px}.greeting-card.timed-greeting{aspect-ratio:4/5;padding:23px;max-height:360px}.timed-greeting .greeting-name{font-size:31px}.timed-greeting .greeting-message{font-size:18px}.timed-greeting .greeting-from{font-size:11px}.timed-slide-meta{font-size:9px}.show-neutral h2{font-size:31px}.show-neutral p{font-size:13px}.timed-celebrate-screen .screen-qr{bottom:48px}.show-category b{font-size:14px}.song-duration-row input{font-size:28px}}
@media(prefers-reduced-motion:reduce){.greeting-card.timed-greeting{animation:none}.show-progress-track i{transition:none}}
/* Three presentation surfaces, sharing only the demo state. */
.demo-view-switcher{position:fixed;z-index:40;bottom:0;left:226px;right:0;height:46px;display:flex;justify-content:center;align-items:center;gap:7px;border-top:1px solid #e2d8e0;background:#fffdf8f5;backdrop-filter:blur(10px);padding:6px 12px;font-size:10px}.demo-view-switcher>span{font-size:8px;letter-spacing:1.2px;color:#968897;margin-right:8px}.demo-view-switcher a,.demo-view-switcher button{padding:7px 10px;border-radius:5px;color:#88718b;background:none;font-size:10px;white-space:nowrap}.demo-view-switcher a.active{background:#ead9e8;color:#820d80;font-weight:700}.demo-view-switcher button{border:1px solid #e3d4e1;margin-left:8px}.content{padding-bottom:90px}.role-badge{font-size:9px;letter-spacing:1.5px;font-weight:800;color:#89718a}.organizer-mode{background:#f0edf2}.organizer-mode .sidebar{background:#2d1332;color:#e4cde3;border-color:#2d1332}.organizer-mode .nav-label{color:#a884aa}.organizer-mode .nav button{color:#bfa5c5}.organizer-mode .nav button.active{background:#5d3265;color:#fff0a8}.organizer-mode .side-bottom button{color:#c2a6c8}.organizer-mode .profile{border-color:#634068}.organizer-mode .profile small{color:#ae8fb5}.organizer-mode .brand small{background:#fff0a8;color:#6e116d}.organizer-mode .topbar{background:#fff;border-color:#e1d7e4}.organizer-mode .role-badge{background:#ece3ef;color:#5b2c64;padding:7px 10px;border-radius:5px}.organizer-mode .intro h1{font-size:31px}.organizer-mode .demo-view-switcher{background:#eee7f2f7}.screen-mode .demo-view-switcher{left:0;background:#260e2bd9;border-color:#ffffff15;color:#b98fb7;height:35px}.screen-mode .demo-view-switcher a,.screen-mode .demo-view-switcher button{color:#c6a0c4;font-size:9px;padding:4px 9px}.screen-mode .demo-view-switcher a.active{background:#632c68;color:#fff0a8}.screen-mode .demo-view-switcher button{border-color:#68426e}.screen-mode .demo-view-switcher>span{font-size:7px;color:#a77ea8}.screen-label{position:absolute;top:24px;left:25px;font-size:8px;letter-spacing:2px;color:#aa80ab}.screen-mode .screen-qr{bottom:66px}.screen-mode .screen-note{bottom:43px}.screen-mode .show-progress-track{bottom:35px}.timed-celebrate-screen{padding-bottom:175px}.celebrate-countdown{margin-top:17px;border:1px solid #e0d0e0;border-radius:10px;background:#faf6fa;padding:16px 20px;display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center}.celebrate-countdown>span{font-size:9px;letter-spacing:1.5px;color:#9a859a}.celebrate-countdown strong{grid-row:1/3;grid-column:2;font-size:34px;font-family:Manrope,sans-serif;letter-spacing:-1px;font-variant-numeric:tabular-nums;color:#bcaabd}.celebrate-countdown small{color:#9d8b9e;font-size:10px}.celebrate-countdown.counting{background:#45164b;border-color:#45164b}.celebrate-countdown.counting strong{color:#fff0a8}.celebrate-countdown.counting span,.celebrate-countdown.counting small{color:#dec0de}.approved-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.approved-gallery .card{padding:15px}.approved-gallery .greeting-card{min-height:270px;aspect-ratio:4/5}.approved-gallery .greeting-entry+.greeting-entry{margin-top:0}.gallery-shortcut{display:inline-block;color:#8b4087;font-size:10px;margin-top:8px}.presentation-links{display:grid;gap:10px}.invitation-page{max-width:600px;margin:30px auto;text-align:center}.invitation-page>.eyebrow{color:#8b3486}.invitation-page>h1{font-family:Georgia,serif;font-style:italic;color:#82117d;font-size:43px;margin:20px 0}.invitation-page>p{font-size:17px;line-height:1.7;margin:15px 0;color:#8b6f8c}.invitation-page>p strong{font-size:27px;color:#6a246c}.invitation-page .card{text-align:left;margin-top:28px}.invite-link{user-select:all}.group-settings .callout{margin-top:15px}.greeting-video{object-fit:cover}.greeting-card .greeting-shade{background:linear-gradient(180deg,#210b2720 0%,#210b2730 15%,#250729c9 65%,#250729f5 100%)}
@media(max-width:1100px) and (min-width:761px){.demo-view-switcher{left:190px}.approved-gallery{grid-template-columns:1fr 1fr}.intro>.btn{font-size:10px}}
@media(max-width:760px){.demo-view-switcher{left:0;height:41px;gap:1px;padding:4px}.demo-view-switcher>span{display:none}.demo-view-switcher a,.demo-view-switcher button{font-size:9px;padding:6px 7px}.demo-view-switcher button{margin-left:4px}.mobile-nav{bottom:41px}.content{padding-bottom:145px}.organizer-mode .content{padding-bottom:85px}.approved-gallery{grid-template-columns:1fr}.organizer-mode .intro{display:block}.organizer-mode .intro .btn{margin-top:15px}.role-badge{font-size:8px}.screen-mode .demo-view-switcher{height:35px}.screen-mode .screen-qr{bottom:80px}.screen-mode .screen-note{bottom:48px}.timed-celebrate-screen{padding-bottom:215px}.screen-label{font-size:7px;left:15px;top:19px}.celebrate-countdown{padding:13px}.celebrate-countdown strong{font-size:31px}.invitation-page>h1{font-size:34px}.invitation-page>p{font-size:15px}}
/* Neutral venue screen and audience entry between show activities. */
.screen.idle-screen{isolation:isolate;height:100dvh;min-height:620px!important;padding:28px 35px 78px;justify-content:center;gap:20px}.idle-video-layer{position:absolute;inset:0;z-index:-3;background:url('party.jpg') center/cover}.idle-screen-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.idle-screen-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#25072ad4 0%,#390d3c8c 35%,#220928f5 100%)}.idle-screen .brand{flex-shrink:0;margin:0!important}.idle-screen .brand img{height:90px;width:115px}.idle-screen .brand small{margin-bottom:18px}.idle-screen-copy{text-align:center}.idle-screen-copy>.eyebrow{color:#f0cfea;letter-spacing:3px;font-size:9px}.screen.idle-screen h1{font-size:53px;line-height:1.07;margin:15px 0;letter-spacing:-1.4px;color:#fff0a8}.idle-screen-copy>p{color:#eddaea;font-size:16px}.idle-qr-card{display:flex;align-items:center;gap:23px;background:#fffaf4;border:1px solid #fff8;border-radius:14px;padding:17px 25px 17px 17px;text-align:left;box-shadow:0 14px 50px #14021555;max-width:100%;margin-top:4px;color:#542350}.idle-qr-card>#screenQr{height:160px;width:160px;flex-shrink:0;background:#fff;border-radius:8px;overflow:hidden}.idle-qr-card svg{height:100%;width:100%}.idle-qr-card strong{font-size:20px;font-family:Georgia,serif;font-style:italic;color:#820d80}.idle-qr-card p{font-size:12px;color:#8b6787;margin-top:10px;line-height:1.6}.idle-qr-card span{display:block;font-size:10px;color:#996b93;margin-top:15px}.idle-screen .screen-note{bottom:47px;left:20px;right:20px;text-align:center;color:#bea1ba;font-size:8px}
@media(min-width:761px) and (max-height:750px){.screen.idle-screen{gap:15px;padding-top:24px}.idle-screen .brand img{height:65px;width:90px}.screen.idle-screen h1{font-size:43px;margin:10px 0}.idle-qr-card>#screenQr{width:145px;height:145px}.idle-screen-copy>p{font-size:14px}}
@media(max-width:760px){.screen.idle-screen{padding:45px 20px 90px;gap:21px;min-height:700px!important}.screen.idle-screen h1{font-size:36px}.idle-screen .brand img{height:75px;width:100px}.idle-screen-copy>p{font-size:13px}.idle-qr-card{flex-direction:column;gap:9px;padding:14px 20px 17px;text-align:center}.idle-qr-card>#screenQr{height:155px;width:155px}.idle-qr-card strong{font-size:18px}.idle-qr-card p{font-size:10px;margin-top:6px}.idle-qr-card span{font-size:9px;margin-top:7px}}
.screen.idle-screen{gap:27px}.idle-qr-card{padding:12px;gap:0;margin:0;border-radius:11px}.idle-qr-card>#screenQr{width:205px;height:205px}.screen.idle-screen h1{font-size:58px;margin:0 0 5px;line-height:1.08}.idle-screen .screen-note{font-size:7px;letter-spacing:1.5px}
@media(max-width:760px){.screen.idle-screen h1{font-size:39px}.idle-qr-card>#screenQr{width:190px;height:190px}.screen.idle-screen{gap:28px}}
.party-overview{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.party-hero{min-height:265px;margin-bottom:24px}.party-overview .group-settings h3{font-size:19px}.party-overview .group-settings .form-grid{grid-template-columns:1fr}.party-overview .group-settings .callout{font-size:10px}.celebrate-invite{background:#f4e9f2;border-color:#ead9e7}.celebrate-invite h3{font-family:Georgia,serif;font-style:italic;color:#820d80;font-size:25px;margin:10px 0}.celebrate-invite p{font-size:12px;line-height:1.8;color:#8c6b86;margin-bottom:18px}.sender-help{display:block;font-weight:400;margin-top:6px}
@media(max-width:760px){.party-overview{grid-template-columns:1fr}.party-hero{min-height:280px}.party-overview .group-settings{order:0}}
/* Original Sing With Us type family, shared by preview and live output. */
:root{--brand-font:'new-spirit',Georgia,serif}body,button,input,select,textarea,h1,h2,h3,.brand,.stat strong,.song-duration-row input,.celebrate-countdown strong{font-family:var(--brand-font)}h1,h2,h3{font-weight:500}.hero h2,.screen h1,.greeting-name-input,.celebrate-invite h3,.invitation-page>h1,.idle-qr-card strong,.show-neutral h2{font-family:var(--brand-font)}.greeting-card{align-items:center;text-align:center}.greeting-card .greeting-copy{text-align:center}.greeting-card .greeting-occasion{margin-bottom:18px}.greeting-card .greeting-name{display:inline-block;font-family:var(--brand-font);font-size:35px;font-style:italic;font-weight:600;max-width:100%;margin:0 auto 18px;padding:9px 17px}.greeting-card .greeting-message{font-family:var(--brand-font);font-size:20px;font-weight:400;line-height:1.35;margin:0 auto 20px;max-width:95%}.greeting-card .greeting-from{font-family:var(--brand-font);font-size:12px}.greeting-card.preview-greeting{aspect-ratio:16/9;min-height:310px;padding:30px}.greeting-card.preview-greeting .greeting-name{font-size:clamp(32px,3vw,48px)}.greeting-card.preview-greeting .greeting-message{font-size:clamp(20px,2vw,29px)}.greeting-card.timed-greeting{align-items:center;padding:35px}.greeting-card.timed-greeting .greeting-name{font-size:clamp(40px,4.8vw,70px);line-height:1.1;margin:0 auto 22px}.greeting-card.timed-greeting .greeting-message{font-size:clamp(24px,3vw,40px);line-height:1.3;margin-bottom:22px}.greeting-card.timed-greeting .greeting-from{font-size:18px}.greeting-card.timed-greeting .greeting-occasion{font-size:13px;margin-bottom:20px}.greeting-card .greeting-shade{background:linear-gradient(180deg,#25072975,#250729b0 45%,#250729cf)}.form-grid label[hidden]{display:none}.birthday-field{padding:14px 16px;border:1px solid #e4d3e1;border-radius:9px;background:#faf5f9}.birthday-field input{margin-top:8px}.organizer-sidebar .nav button{font-size:12px;padding:12px 11px}.organizer-sidebar .nav-label{font-size:9px}.organizer-mode .content{max-width:2000px;padding:30px 26px 85px}.organizer-workspace{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:26px;align-items:start}.organizer-controls{min-width:0}.organizer-controls>.intro{align-items:flex-start;gap:12px}.organizer-controls>.intro h1{font-size:31px}.organizer-controls>.intro{display:block}.organizer-controls>.intro>.btn{margin-top:15px;font-size:11px}.organizer-controls .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.organizer-controls .stat{padding:15px}.organizer-controls .grid{grid-template-columns:1fr;gap:18px}.organizer-controls .stack{gap:18px}.organizer-controls .approved-gallery,.inbox-gallery,.organizer-game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.inbox-gallery>.card{padding:14px}.inbox-gallery .greeting-entry+.greeting-entry{margin-top:0}.inbox-gallery .greeting-card,.organizer-controls .approved-gallery .greeting-card{aspect-ratio:4/5;min-height:270px;padding:20px}.inbox-gallery .greeting-name,.organizer-controls .approved-gallery .greeting-name{font-size:28px}.inbox-gallery .greeting-message,.organizer-controls .approved-gallery .greeting-message{font-size:17px}.inbox-gallery .form-actions{flex-wrap:wrap}.screen-monitor{position:sticky;top:22px;overflow:hidden;border-radius:14px;background:#2e1134;border:1px solid #633765;box-shadow:0 12px 40px #2c083020;color:#f3e5f1}.monitor-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 22px}.monitor-heading .eyebrow{font-size:8px;color:#b491b6;letter-spacing:2px}.monitor-heading h2{font-family:var(--brand-font);font-size:24px;color:#fff0a8;font-style:italic;margin-top:6px}.monitor-live{display:flex;gap:6px;align-items:center;color:#d8e4a9;font-size:9px;letter-spacing:1px}.monitor-live .dot{background:#b7d36a}.screen-mirror-viewport{width:100%;position:relative;height:260px;overflow:hidden;background:#230c29}.screen-mirror-viewport iframe{display:block;position:absolute;top:0;left:0;width:1366px;height:768px;border:0;transform-origin:0 0;pointer-events:none}.monitor-footer{padding:16px 20px;display:flex;flex-direction:column;gap:11px;font-size:10px;color:#b798b9;line-height:1.5}.monitor-footer a{color:#fff0a8;font-size:11px}.organizer-mobile-nav{display:none}.mirror-mode .demo-view-switcher,.mirror-mode .screen-fullscreen,.mirror-mode .screen-label,.mirror-mode .screen-note{display:none!important}.mirror-mode .screen{height:100vh;min-height:0!important}.mirror-mode .show-progress-track{bottom:0}.mirror-mode .screen-qr{bottom:30px}.organizer-controls .bottom-note{display:block}.organizer-controls .bottom-note span{display:block;margin-bottom:8px}
@media(min-width:761px) and (max-width:1200px){.organizer-workspace{grid-template-columns:minmax(0,1fr) minmax(290px,.8fr);gap:18px}.organizer-controls .approved-gallery,.inbox-gallery,.organizer-game-grid{grid-template-columns:1fr}.organizer-mode .content{padding-left:20px;padding-right:20px}.organizer-sidebar .nav button{font-size:11px;padding-left:8px}}
@media(max-width:900px){.organizer-workspace{grid-template-columns:1fr}.organizer-workspace>#screenMirrorMount{grid-row:1;position:sticky;top:0;z-index:8}.screen-monitor{position:static;max-width:100%}.monitor-heading{padding:9px 15px}.monitor-heading h2{font-size:19px;margin-top:0}.monitor-heading .eyebrow,.monitor-footer>span{display:none}.monitor-footer{padding:8px 15px}.screen-mirror-viewport{max-height:230px}.organizer-controls .approved-gallery,.inbox-gallery,.organizer-game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.greeting-card.preview-greeting{min-height:280px;aspect-ratio:4/3;padding:22px}.greeting-card.preview-greeting .greeting-name{font-size:31px}.greeting-card.preview-greeting .greeting-message{font-size:20px}.greeting-card.timed-greeting .greeting-name{font-size:35px}.greeting-card.timed-greeting .greeting-message{font-size:23px}.greeting-card.timed-greeting .greeting-from{font-size:13px}.greeting-card.timed-greeting .greeting-occasion{font-size:10px}.organizer-mode .content{padding:20px 16px 80px}.organizer-mobile-nav{display:flex;gap:7px;overflow:auto;padding:0 0 14px;margin-bottom:3px}.organizer-mobile-nav a{white-space:nowrap;background:#fff;border:1px solid #e3d7e3;border-radius:20px;padding:8px 12px;font-size:11px;color:#866286}.organizer-mobile-nav a.active{background:#54205b;color:#fff0a8}.organizer-controls .approved-gallery,.inbox-gallery,.organizer-game-grid{grid-template-columns:1fr}.screen-mirror-viewport{max-height:none}.organizer-controls>.intro h1{font-size:28px}.organizer-workspace{gap:20px}}
.greeting-card:not(.timed-greeting):not(.preview-greeting){aspect-ratio:auto;min-height:310px}.inbox-gallery .greeting-card,.organizer-controls .approved-gallery .greeting-card{aspect-ratio:auto;min-height:340px}.greeting-card.timed-greeting{max-height:calc(100% - 28px)}
.workspace-label{font-size:9px;color:#927b93;letter-spacing:1.8px;margin:1px 0 15px}.organizer-controls>.intro{margin-bottom:22px}
.celebrate-section-header>.eyebrow{display:block;color:#9a7298;font-size:9px;margin:0 0 13px}.celebrate-section-tabs{border-bottom:1px solid #ddcddd;padding-bottom:15px;margin-bottom:22px;gap:7px}.celebrate-section-tabs a{display:inline-flex;padding:10px 13px;background:#fff;border:1px solid #e1d2df;border-radius:8px;color:#8a6289;font-size:12px}.celebrate-section-tabs a.active{background:#602467;border-color:#602467;color:#fff0a8}.celebrate-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:23px}.celebrate-summary{display:block;transition:border-color .15s}.celebrate-summary:hover{border-color:#b076ac}.celebrate-summary>.eyebrow{font-size:8px;letter-spacing:1px}.celebrate-summary>strong{display:block;font-size:40px;color:#7e167c;line-height:1;margin:17px 0 12px}.celebrate-summary p{font-size:12px;color:#937a93;line-height:1.6}.summary-link{display:block;color:#8e3f88;font-size:11px;margin-top:17px}@media(max-width:760px){.celebrate-section-tabs a{font-size:11px;padding:9px 11px}.celebrate-summary-grid{gap:10px}.celebrate-summary{padding:16px}.celebrate-summary>strong{font-size:34px}.celebrate-summary>.eyebrow{font-size:7px}}
/* Full-canvas celebration: moving media, logo-like lettering and no timing labels. */
.greeting-card .greeting-name{background:transparent;border-radius:0;padding:0 5px;color:#fff0a8;-webkit-text-stroke:.1em #820d80;paint-order:stroke fill;text-shadow:0 3px 14px #21042466}.screen.timed-celebrate-screen{isolation:isolate;overflow:hidden;position:relative;min-height:620px!important;height:100dvh;padding:0;display:block;background:#2f0d36}.timed-celebrate-screen>.brand{position:absolute;top:24px;left:30px;z-index:4;margin:0!important}.timed-celebrate-screen .brand img{width:96px;height:72px}.timed-celebrate-screen>.eyebrow,.timed-celebrate-screen>.screen-label,.timed-celebrate-screen>.show-progress-track{display:none}.screen.timed-celebrate-screen h1.timed-show-title{position:absolute;left:16%;right:16%;top:38px;z-index:4;margin:0;text-align:center;font-size:clamp(36px,4vw,60px);line-height:1.12;text-shadow:0 3px 18px #21042490}.timed-celebrate-screen .timed-slideshow-stage{position:absolute;inset:0;z-index:0;width:100%;height:100%;max-width:none;margin:0;display:block;min-height:0}.timed-celebrate-screen .greeting-card.timed-greeting{width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;border:0;border-radius:0;padding:165px 10vw 170px;box-shadow:none;animation:stage-reveal .6s ease-out}.timed-celebrate-screen .greeting-card.timed-greeting .greeting-copy{position:relative;z-index:2;width:100%;max-width:1160px;margin:auto;text-align:center}.timed-celebrate-screen .greeting-card.timed-greeting .greeting-name{font-size:clamp(66px,8.5vw,132px);line-height:1.06;letter-spacing:-.025em;margin:0 auto 28px;-webkit-text-stroke:.085em #820d80;text-shadow:0 5px 26px #21042480;overflow-wrap:anywhere}.timed-celebrate-screen .greeting-card.timed-greeting .greeting-message{font-size:clamp(32px,4.2vw,66px);line-height:1.22;max-width:100%;margin:0 auto 27px;text-shadow:0 3px 16px #18011fbb}.timed-celebrate-screen .greeting-card.timed-greeting .greeting-from{font-size:clamp(17px,1.8vw,26px);text-shadow:0 2px 10px #210424}.timed-celebrate-screen .greeting-card.timed-greeting .greeting-occasion{display:none}.timed-celebrate-screen .greeting-card.timed-greeting .greeting-photo{animation:stage-camera 20s ease-in-out infinite alternate;filter:saturate(1.18);object-fit:cover;object-position:center}.timed-celebrate-screen .greeting-card.timed-greeting .greeting-shade{background:linear-gradient(180deg,#26072d9e 0%,#26072d2e 24%,#26072d57 65%,#26072de3 100%)}.timed-celebrate-screen .greeting-card.timed-greeting:after{content:'';position:absolute;inset:-25%;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 20% 20%,#eeb5ec35,transparent 48%),radial-gradient(ellipse at 80% 75%,#e6c75e2e,transparent 45%);mix-blend-mode:screen;animation:stage-lights 12s ease-in-out infinite alternate}.timed-celebrate-screen>.screen-qr{z-index:4;left:35px;bottom:67px;filter:drop-shadow(0 3px 10px #18011f90)}.timed-celebrate-screen>.screen-note,.timed-celebrate-screen>.screen-fullscreen{z-index:4}.timed-celebrate-screen .show-neutral{height:100%;display:flex;justify-content:center;align-items:center;flex-direction:column;background:radial-gradient(ellipse at 30% 30%,#7c327873,transparent 70%),url('party.jpg') center/cover}.timed-celebrate-screen .show-neutral h2{font-size:clamp(38px,6vw,84px);max-width:80%;text-shadow:0 4px 20px #26072d}.timed-celebrate-screen .show-neutral p{text-shadow:0 2px 10px #26072d}.live-participation{max-width:780px;margin:auto;padding:30px}.live-participation .option{font-size:17px;padding:19px}.mirror-mode .timed-celebrate-screen>.screen-qr{bottom:30px}.mirror-mode .timed-celebrate-screen .greeting-card.timed-greeting{padding-bottom:145px}
@keyframes stage-camera{from{transform:scale(1.02) translate3d(-.5%,0,0)}to{transform:scale(1.1) translate3d(.5%,-1%,0)}}@keyframes stage-lights{from{transform:translate3d(-4%,-2%,0) rotate(-4deg);opacity:.55}to{transform:translate3d(4%,3%,0) rotate(6deg);opacity:1}}@keyframes stage-reveal{from{opacity:0}to{opacity:1}}
@media(max-width:760px){.screen.timed-celebrate-screen h1.timed-show-title{top:105px;left:18px;right:18px;font-size:30px}.timed-celebrate-screen>.brand{top:16px;left:22px}.timed-celebrate-screen .brand img{height:62px;width:84px}.timed-celebrate-screen .greeting-card.timed-greeting{padding:165px 25px 210px}.timed-celebrate-screen .greeting-card.timed-greeting .greeting-name{font-size:clamp(50px,12vw,78px);margin-bottom:22px}.timed-celebrate-screen .greeting-card.timed-greeting .greeting-message{font-size:clamp(23px,5.7vw,32px);line-height:1.25;margin-bottom:20px}.timed-celebrate-screen .greeting-card.timed-greeting .greeting-from{font-size:16px}.timed-celebrate-screen>.screen-qr{left:20px;bottom:81px}.live-participation{padding:22px}.live-participation .option{font-size:15px}}
@media(prefers-reduced-motion:reduce){.timed-celebrate-screen .greeting-card.timed-greeting,.timed-celebrate-screen .greeting-card.timed-greeting .greeting-photo,.timed-celebrate-screen .greeting-card.timed-greeting:after{animation:none}}
/* Guest navigation uses the established Sing With Us show palette. */
body:not(.organizer-mode):not(.screen-mode) .sidebar{background:#2e1538;color:#ddcce3;border-color:#4c2b56}body:not(.organizer-mode) .sidebar .nav-label{color:#bc9fc7}body:not(.organizer-mode) .sidebar .nav button,body:not(.organizer-mode) .sidebar .side-bottom button{color:#d6bddf}body:not(.organizer-mode) .sidebar .nav button.active{background:#5d326d;color:#fff0a8}body:not(.organizer-mode) .sidebar .brand small{background:#fff0a8;color:#820d80}body:not(.organizer-mode) .sidebar .profile{border-color:#694275}body:not(.organizer-mode) .sidebar .profile small{color:#bda2c8}.activity-list{display:grid;gap:16px}.activity-list .game-card{display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:24px}.activity-list .game-art{height:100px;margin:0}.activity-list .game-card p{margin-bottom:0}.current-round,.carousel-settings{margin-bottom:24px}.answer-edit{display:flex;align-items:center;gap:12px;margin-top:12px}.answer-edit input[type=radio]{width:20px;flex:none}.answer-edit input:not([type=radio]){flex:1;min-width:0}.answer-letter{display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid currentColor;border-radius:7px;margin-right:12px}.answer-percent{float:right}.correct-answer{outline:3px solid #9bbf62}.photo-drop{text-align:center;background:#f2e8f4;border:1px dashed #b889c0;border-radius:18px;padding:36px 20px;margin-bottom:18px}.photo-drop>span{font-size:48px;color:#820d80}.photo-drop h2{font-size:30px;margin:14px 0}.photo-drop p{margin-bottom:20px}.photo-drop .photo-actions{justify-content:center}.photo-preview{width:100%;max-height:420px;object-fit:contain;background:#2e1538;border-radius:12px;margin:12px 0}.photo-submission{margin:20px 0}.photo-inbox{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.photo-carousel-screen{padding:0!important;overflow:hidden}.photo-carousel-screen>.brand{position:absolute;top:26px;left:30px;z-index:5}.photo-carousel-screen .screen-qr{left:30px;bottom:40px;top:auto;z-index:5;width:220px;display:block!important;padding:22px;background:#2e1538e8;border-radius:18px;text-align:left}.photo-carousel-screen .screen-qr>div:first-child{margin-bottom:16px;display:inline-block}.photo-carousel-screen .screen-qr strong{font-size:23px}.photo-carousel-screen .screen-qr p{font-size:16px}.photo-carousel-screen .screen-qr small{font-size:10px}.photo-carousel-screen #photoCarouselStage{position:absolute;inset:0}.carousel-photo{position:absolute;z-index:2;width:calc(100% - 310px);height:100%;left:310px;top:0;object-fit:contain;animation:photo-appear .7s ease}.carousel-photo-blur{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(35px) brightness(.35);z-index:0;transform:scale(1.1)}@keyframes photo-appear{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.quiz-live-screen{padding-bottom:190px!important}.quiz-live-screen h1{font-size:clamp(36px,5vw,70px);margin:18px 0}.quiz-live-screen .screen-sub{font-size:clamp(22px,2.8vw,38px);margin:16px auto;max-width:1050px}.quiz-live-screen .quiz-options{display:grid;grid-template-columns:1fr 1fr;width:min(1000px,85vw);gap:16px;max-width:none}.quiz-live-screen .quiz-options .option{padding:22px;text-align:left;font-size:clamp(18px,2vw,30px);min-height:95px;background:#6c327b}.quiz-live-screen .quiz-options .option:nth-child(2){background:#814b6f}.quiz-live-screen .quiz-options .option:nth-child(3){background:#503d80}.quiz-live-screen .quiz-options .option:nth-child(4){background:#75495d}.screen-fasit{color:#fff0a8;font-size:26px;margin:20px}.quiz-live-screen .team-results{max-width:650px;margin:12px auto}.screen .team-results h3{color:#fff0a8}.screen .team-results .field-help{color:#d9c9e2}.screen .option:disabled{opacity:1}.quiz-live-screen .screen-qr{bottom:30px!important}.live-participation .options{margin-top:25px}.live-participation h2+p{margin-bottom:20px}
@media(max-width:760px){.activity-list .game-card{grid-template-columns:56px 1fr;gap:16px}.activity-list .game-art{height:56px;font-size:28px}.activity-list .game-card>.btn{grid-column:1/-1}.photo-inbox{grid-template-columns:1fr}.mobile-nav{overflow-x:auto;justify-content:flex-start}.mobile-nav button{min-width:76px;flex:1}.quiz-live-screen .quiz-options{gap:8px}.quiz-live-screen .quiz-options .option{min-height:70px;padding:12px}.photo-carousel-screen .screen-qr{width:170px;left:15px;padding:15px}.carousel-photo{left:215px;width:calc(100% - 215px)}}
body:not(.organizer-mode):not(.screen-mode){background:#f0edf2}body:not(.organizer-mode):not(.screen-mode) .topbar{background:#fff}body:not(.organizer-mode) .sidebar .profile .avatar{color:#2e1538}.carousel-settings h3{margin-top:10px}.carousel-settings>p{margin:12px 0 20px}.quiz-live-screen .screen-qr{max-width:80vw}.quiz-live-screen .brand{margin-bottom:4px}.photo-carousel-screen .screen-note{z-index:4}
@media(prefers-reduced-motion:reduce){.carousel-photo{animation:none}}
.captain-guide{background:#3d1b49;color:#f7eefa;padding:28px 30px;border-radius:16px;margin-bottom:24px;display:grid;grid-template-columns:.9fr 1.1fr;gap:30px}.captain-guide .eyebrow{color:#d4afd9}.captain-guide h2{font-size:29px;color:#fff0a8;margin:12px 0}.captain-guide p{font-size:13px;line-height:1.6;color:#dbc6e1}.captain-guide ol{list-style:none;margin:0;padding:0;display:grid;gap:17px}.captain-guide li{display:flex;align-items:flex-start;gap:14px}.captain-guide li>span{background:#fff0a8;color:#820d80;border-radius:50%;width:29px;height:29px;display:grid;place-items:center;flex:none;font-weight:700}.captain-guide li strong{display:block;margin:2px 0 4px}.karaoke-card{max-width:750px}.karaoke-icon{color:#820d80;font-size:62px}.karaoke-card h2{font-size:34px;margin:15px 0}.karaoke-card>p{line-height:1.7;margin-bottom:24px}.karaoke-card>.btn{margin-top:16px}.karaoke-screen-copy{margin:30px auto;max-width:900px}.karaoke-screen-copy h2{font-size:clamp(40px,7vw,95px);color:#fff0a8;font-style:italic}.karaoke-screen-copy p{font-size:28px;margin:20px}.current-round>p{line-height:1.6;margin:14px 0}
@media(max-width:760px){.captain-guide{grid-template-columns:1fr;padding:24px;gap:24px}.captain-guide h2{font-size:27px}}
/* Arrangørkontroll: kjølig petrol og mint, adskilt fra gjestenes lilla og gult. */
body.organizer-mode{background:#edf3f3;color:#20313b;--line:#d8e3e4;--muted:#667a82}
.organizer-mode .organizer-sidebar{background:#182e3a;border-right-color:#294652;color:#e7f4f2}
.organizer-mode .organizer-sidebar .brand small{background:#b8eee2;color:#163d40}
.organizer-mode .organizer-sidebar .nav-label{color:#9abac2}
.organizer-mode .organizer-sidebar .nav button{color:#c2d6db}
.organizer-mode .organizer-sidebar .nav button.active{background:#b8eee2;color:#153c40}
.organizer-mode .organizer-sidebar .nav button:hover:not(.active){background:#294752;color:#fff}
.organizer-mode .organizer-sidebar .side-bottom button{color:#bfd4d9}
.organizer-mode .organizer-sidebar .profile{border-top-color:#3c5c67}
.organizer-mode .organizer-sidebar .profile small{color:#a8c1c8}
.organizer-mode .organizer-sidebar .profile .avatar{background:#b8eee2;color:#183b40}
.organizer-mode .topbar{background:#f8fcfb;border-bottom:3px solid #7ecbbc}
.organizer-mode .topbar .role-badge{background:#d4eee8;color:#23595a}
.organizer-mode .workspace-label{color:#4f787d}
.organizer-mode .organizer-controls .btn.pink{background:#176064;color:#fff}
.organizer-mode .organizer-controls .btn.pink:hover{background:#104a4d}
.organizer-mode .organizer-controls .btn.light{background:#e8efef;color:#304e57}
.organizer-mode .organizer-controls .tabs .active,.organizer-mode .celebrate-section-tabs a.active{background:#176064;color:#fff}
.organizer-mode .show-icon{background:#d9f0e9;color:#176064}
.organizer-mode .song-duration-row input{border-color:#91bbb5}
.organizer-mode .celebrate-countdown{background:#f0f8f6;border-color:#bfd9d3}
.organizer-mode .celebrate-countdown strong,.organizer-mode .show-category b{color:#176064}
.organizer-mode .organizer-controls .summary-link{color:#176064}
.organizer-mode .organizer-mobile-nav a.active{background:#176064;color:#fff}
.organizer-mode .demo-view-switcher{background:#e4efed;border-top-color:#c3d8d4}
.organizer-mode .demo-view-switcher>a.active{background:#c2e6dd;color:#164d50}
.organizer-mode .demo-view-switcher>button{border-color:#bad4cf;color:#275e60}
body.screen-mode .screen.karaoke-public-screen{height:calc(100dvh - 36px);min-height:0!important;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:22px 30px 32px;text-align:center}
body.mirror-mode .screen.karaoke-public-screen{height:100dvh}
.karaoke-public-screen .brand{margin:0!important;flex:none}
.karaoke-public-screen .brand img{width:95px;height:76px}
.karaoke-public-screen .brand small{margin:0}
.karaoke-public-screen .eyebrow{margin:0!important;font-size:10px}
.karaoke-public-screen h1{font-size:clamp(42px,5.5vw,76px);line-height:1.08;margin:0!important}
.karaoke-tagline{font-size:clamp(19px,2.2vw,30px);color:#e7cee8;max-width:1000px;line-height:1.3}
.karaoke-open-status{display:flex;align-items:center;gap:9px;background:#ffffff12;border:1px solid #e0c2673b;border-radius:40px;color:#fff0a8;padding:8px 16px;font-size:15px}
.karaoke-open-status .dot{background:#c6e68a}
.karaoke-signup-code #screenQr{width:clamp(155px,27vh,245px);height:clamp(155px,27vh,245px);padding:0;border-radius:14px;overflow:hidden;background:#fff;margin:auto;box-shadow:0 10px 50px #0003}
.karaoke-signup-code svg{width:100%;height:100%;display:block}
.karaoke-signup-code>p{color:#fff0a8;font-size:19px;margin-top:10px}
.karaoke-now{font-size:17px;color:#e5cbe4;max-width:90%}
.karaoke-closed-stage h2{font-size:clamp(35px,6vw,76px);color:#fff0a8;font-style:italic;margin:24px auto}
.karaoke-closed-stage>p{font-size:28px;margin-bottom:20px}
.karaoke-closed-stage>span{color:#d9bedb;font-size:15px}
@media(max-height:650px){body.screen-mode .screen.karaoke-public-screen{gap:9px;padding-top:15px}.karaoke-public-screen .brand img{width:65px;height:53px}.karaoke-public-screen h1{font-size:44px}.karaoke-tagline{font-size:21px}.karaoke-signup-code #screenQr{width:145px;height:145px}}
.karaoke-library{margin-top:24px}.karaoke-library>h3{margin:10px 0}.karaoke-library>p{line-height:1.6;margin-bottom:20px}.karaoke-library input[type=file]{padding:12px;background:#f4f8f7;width:100%}.karaoke-provider-options{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}.karaoke-provider-options summary{cursor:pointer;font-weight:600}.karaoke-provider-options p{margin:14px 0;line-height:1.6}body.screen-mode .screen.karaoke-video-screen{position:relative;height:calc(100dvh - 36px);min-height:0!important;background:#08080b;padding:0;overflow:hidden}body.mirror-mode .screen.karaoke-video-screen{height:100dvh}.karaoke-video-screen video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.karaoke-video-state{position:absolute;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none;font-size:28px;color:#fff0a8;background:#130919a1;padding:30px}.karaoke-video-state[hidden]{display:none}.karaoke-sound-button{position:absolute;left:50%;top:65%;transform:translate(-50%,-50%);background:#fff0a8;color:#4f1157;font-size:20px;z-index:2}.karaoke-sound-button[hidden]{display:none}.mirror-mode .karaoke-sound-button{display:none}
.activity-list .game-card.activity-live{border:2px solid #a34b9b;background:#fdf8fd;box-shadow:0 6px 24px #820d8010}.activity-list .activity-live .tag{color:#820d80;font-weight:700}
.game-art .karaoke-game-icon{display:block;width:66px;height:90px;object-fit:contain;filter:drop-shadow(0 5px 4px #501b4926)}.ico .karaoke-nav-icon{display:block;width:23px;height:27px;object-fit:contain}.karaoke-icon .karaoke-page-icon{display:block;width:80px;height:105px;object-fit:contain}.activity-list .game-card:has(.karaoke-game-icon) .game-art{background:#f5ddeb}@media(max-width:760px){.game-art .karaoke-game-icon{width:36px;height:50px}.mobile-nav .karaoke-nav-icon{width:23px;height:27px}}
.independent-lucky-panel{border-color:#dbcda4}.independent-lucky-panel>.card-head{margin-top:12px}.independent-lucky-panel>.card-head h3{max-width:70%}.independent-lucky-panel>p{margin:12px 0;line-height:1.6}.independent-lucky-panel .form-actions{flex-wrap:wrap}.lucky-winner-result{padding:18px;background:#fff7d6;border-radius:10px;color:#5a3e28;margin:16px 0}.lucky-winner-result span{display:block;font-size:11px;letter-spacing:1px;text-transform:uppercase}.lucky-winner-result strong{display:block;font-size:29px;margin-top:6px}.lucky-signup-qr{width:220px;height:220px;background:#fff;border-radius:14px;overflow:hidden;margin:18px auto}.lucky-signup-qr svg{display:block;width:100%;height:100%}.lucky-public-screen .winner{font-size:clamp(45px,7vw,95px);max-width:90%;overflow-wrap:anywhere}.lucky-public-screen h1{font-size:clamp(40px,5vw,70px)}
.lucky-settings-form{border:1px solid #dedbcf;background:#fcfbf6;padding:18px;border-radius:12px;margin:18px 0}.lucky-settings-form .form-grid{gap:14px}.lucky-settings-form .form-actions{margin-top:14px}body.screen-mode .screen.lucky-sponsor-screen{height:calc(100dvh - 36px);min-height:0!important;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px 30px 36px}body.mirror-mode .screen.lucky-sponsor-screen{height:100dvh}.lucky-sponsor-screen .brand{margin:0!important;flex:none}.lucky-sponsor-screen .brand img{width:90px;height:68px}.lucky-sponsor-screen .brand small{margin:0}.lucky-sponsor-screen h1{margin:0!important;font-size:clamp(42px,5vw,68px);line-height:1.08}.lucky-prize-copy{font-size:clamp(22px,2.6vw,35px);line-height:1.3;color:#e7cee8;max-width:1050px;overflow-wrap:anywhere}.lucky-prize-copy strong{color:#fff0a8;font-weight:500}.lucky-sponsor-screen .lucky-signup-qr{flex:none;width:clamp(180px,36vh,320px);height:clamp(180px,36vh,320px);margin:0 auto;border-radius:16px;box-shadow:0 12px 50px #0003}.lucky-scan-copy{color:#fff0a8;font-size:clamp(21px,2.2vw,30px);line-height:1.2}.lucky-winner-copy>span{display:block;color:#e7cee8;font-size:24px}.lucky-sponsor-screen .winner{margin:12px auto;font-size:clamp(42px,7vw,95px);line-height:1.1}.lucky-sponsor-screen .screen-note{pointer-events:none}@media(max-height:650px){body.screen-mode .screen.lucky-sponsor-screen{gap:10px;padding:16px 24px 30px}.lucky-sponsor-screen .brand img{width:65px;height:49px}.lucky-sponsor-screen h1{font-size:44px}.lucky-prize-copy{font-size:23px}.lucky-sponsor-screen .lucky-signup-qr{width:180px;height:180px}.lucky-scan-copy{font-size:23px}}@media(max-width:760px){.lucky-settings-form .form-grid{grid-template-columns:1fr}}

/* Sponsor identity stays clear and separate from the participation QR. */
.sponsor-logo-upload{margin-top:16px}.sponsor-logo-upload input[type=file]{font-size:12px;max-width:100%;padding:10px;background:#fff}.sponsor-logo-preview{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:12px}.sponsor-logo-preview[hidden]{display:none}.sponsor-logo-preview img{display:block;width:150px;height:80px;object-fit:contain;padding:12px;background:#fff;border:1px solid #dedbcf;border-radius:10px}.lucky-sponsor-logo{display:flex;align-items:center;justify-content:center;flex:none;background:rgba(255,255,255,.70);border:1px solid rgba(255,255,255,.25);border-radius:14px;padding:12px 24px;box-shadow:0 6px 24px #0001;max-width:65vw}.lucky-sponsor-logo img{display:block;width:auto;max-width:min(380px,55vw);height:90px;object-fit:contain}.lucky-sponsor-screen:has(.lucky-sponsor-logo){gap:12px}.lucky-sponsor-screen:has(.lucky-sponsor-logo) .lucky-signup-qr{width:clamp(160px,29vh,270px);height:clamp(160px,29vh,270px)}@media(max-height:700px){.lucky-sponsor-logo{padding:8px 18px}.lucky-sponsor-logo img{height:65px;max-width:min(320px,55vw)}.lucky-sponsor-screen:has(.lucky-sponsor-logo){gap:8px}.lucky-sponsor-screen:has(.lucky-sponsor-logo) .lucky-signup-qr{width:clamp(135px,26vh,190px);height:clamp(135px,26vh,190px)}}

.celebrate-approval-summary{border-top:1px solid var(--line);margin-top:22px;padding-top:22px}.celebrate-approval-summary .card-head{margin-bottom:16px}.celebrate-approval-summary .card-head p{margin:6px 0 0;font-size:13px;color:var(--muted)}

.group-settings>.card-head{margin-top:12px}.group-description,.group-invite-box p,.group-join-card>p{font-size:14px;line-height:1.6;margin:14px 0}.group-invite-box{padding:20px;background:#f4eaf6;border-radius:12px;margin-top:22px}.group-invite-box h3{font-size:20px}.group-invite-box input{font-size:12px;background:#fff}.group-invite-box>a{display:block;margin-top:16px;overflow-wrap:anywhere}.group-rename{margin-top:22px}.group-rename button{margin-top:12px}.group-join-card{max-width:650px}.group-join-card h2{color:#820d80;margin:18px 0;font-size:36px}.group-join-card label{margin:20px 0}.group-join-card>.callout{margin:20px 0}

.sponsor-consent-dialog>h2{font-size:29px;margin:12px 0}.sponsor-consent-dialog>p,.sponsor-consent-offer>p{line-height:1.6;margin:12px 0}.sponsor-consent-offer{background:#f5eaf6;border:1px solid #e8d2eb;border-radius:14px;padding:20px;margin:20px 0}.sponsor-consent-offer h3{color:#820d80;font-size:21px}.sponsor-optin{display:flex;align-items:flex-start;gap:12px;font-weight:500;line-height:1.5;margin:20px 0 12px}.sponsor-optin input{width:20px;height:20px;flex:none;margin:2px 0 0;accent-color:#820d80}.sponsor-contact{margin:12px 0 20px}.sponsor-contact[hidden]{display:none}.sponsor-consent-detail{font-size:12px;color:#6d5875}.sponsor-consent-summary{margin:24px 0;padding-top:20px;border-top:1px solid var(--line)}.sponsor-consent-summary>.row{gap:12px}.sponsor-consent-dialog .form-actions{flex-wrap:wrap}

.party-caption-label{margin:20px 0 14px}.party-caption-label textarea{margin-top:8px}.party-photo-card{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:4/3;background:#2e1538;border-radius:14px;margin:14px 0;color:#fff0a8}.party-photo-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:-2}.party-photo-shade{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,transparent 25%,#25072922 50%,#250729d9 100%)}.party-photo-copy{position:absolute;inset:15% 7% 22%;display:flex;align-items:center;justify-content:center;text-align:center}.party-photo-card .party-photo-caption{font-family:var(--brand-font);font-style:italic;font-weight:600;font-size:clamp(25px,3vw,43px);line-height:1.15;overflow-wrap:anywhere;color:#fff0a8;-webkit-text-stroke:.085em #820d80;paint-order:stroke fill;text-shadow:0 3px 12px #21042499;letter-spacing:-.025em}.party-photo-credit{position:absolute;left:7%;right:7%;bottom:7%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;overflow-wrap:anywhere;font-family:var(--brand-font);text-shadow:0 2px 8px #210424}.party-photo-credit strong{font-size:22px;font-style:italic;color:#fff0a8;-webkit-text-stroke:.06em #820d80;paint-order:stroke fill}.party-photo-credit span{font-size:15px;color:#fff0a8}.photo-inbox .party-photo-caption,.photo-submission .party-photo-caption{font-size:27px}.photo-inbox .party-photo-credit strong,.photo-submission .party-photo-credit strong{font-size:18px}.photo-inbox .party-photo-credit span,.photo-submission .party-photo-credit span{font-size:12px}.photo-carousel-screen .party-photo-card.photo-carousel-card{position:absolute;left:310px;top:0;width:calc(100% - 310px);height:100%;aspect-ratio:auto;margin:0;border-radius:0;background:transparent;animation:photo-appear .7s ease}.photo-carousel-card .party-photo-copy{inset:15% 8% 24%}.photo-carousel-card .party-photo-caption{font-size:clamp(38px,5vw,84px)}.photo-carousel-card .party-photo-credit strong{font-size:clamp(25px,3vw,46px)}.photo-carousel-card .party-photo-credit span{font-size:clamp(18px,2vw,30px)}.photo-carousel-card .party-photo-credit{bottom:7%}@media(max-width:760px){.photo-carousel-screen .party-photo-card.photo-carousel-card{left:215px;width:calc(100% - 215px)}.photo-carousel-card .party-photo-caption{font-size:clamp(24px,5vw,42px)}.photo-carousel-card .party-photo-credit strong{font-size:24px}.photo-carousel-card .party-photo-credit span{font-size:16px}.photo-draft-card .party-photo-caption{font-size:30px}}@media(prefers-reduced-motion:reduce){.photo-carousel-screen .party-photo-card.photo-carousel-card{animation:none}}

/* One proportional composition keeps saved text placement identical on phone and screen. */
.party-photo-scene{position:relative;isolation:isolate;width:100%;aspect-ratio:4/3;container-type:inline-size}.party-photo-card .party-photo-copy{position:absolute;inset:0;display:block;pointer-events:none}.party-photo-card .party-photo-caption{position:absolute;left:var(--caption-x,50%);top:var(--caption-y,45%);width:max-content;max-width:82%;margin:0;text-align:center;font-size:calc(var(--caption-size,7) * 1cqw);transform:translate(-50%,-50%) rotate(var(--caption-rotation,0deg));transform-origin:center;pointer-events:auto}.photo-draft-card .party-photo-caption{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;padding:8px;border:1px dashed #fff0a899;border-radius:9px}.photo-draft-card .party-photo-caption.is-dragging{cursor:grabbing;border-color:#fff0a8}.photo-draft-card .party-photo-caption:focus-visible{outline:3px solid #fff0a8;outline-offset:4px}.photo-text-tools{padding:18px;background:#f4eaf6;border:1px solid #e8d2eb;border-radius:12px;margin:16px 0}.photo-text-tools>p{font-size:13px;line-height:1.6;margin-bottom:16px;color:#6d5875}.photo-text-tools label{display:block;margin:14px 0}.photo-text-tools output{float:right;font-weight:400;color:#820d80}.photo-text-tools input[type=range]{display:block;width:100%;height:44px;margin:2px 0;padding:0;accent-color:#820d80;cursor:pointer;touch-action:pan-y;background:transparent;border:0}.photo-text-tools summary{cursor:pointer;padding:10px 0;color:#820d80}.photo-text-tools>.btn{margin-top:8px;min-height:44px}.photo-carousel-screen .photo-carousel-card{display:grid;place-items:center;container-type:size}.photo-carousel-card .party-photo-scene{width:min(100cqw,calc(100cqh * 4 / 3));height:auto;aspect-ratio:4/3;max-width:100%}.party-photo-scene .party-photo-credit{bottom:7%}.party-photo-scene .party-photo-credit strong{font-size:4cqw}.party-photo-scene .party-photo-credit span{font-size:2.7cqw}

.sponsor-profile-info{display:grid;gap:7px;padding:14px;background:#fff;border:1px solid #e8d2eb;border-radius:9px;margin:16px 0}.sponsor-profile-info>span{font-size:12px;color:#6d5875;overflow-wrap:anywhere}.sponsor-optin:has(input:disabled){color:#8d8491}

/* Presentation utilities are collected in one menu; the guest navigation stays clear. */
.demo-view-switcher,.organizer-mode .demo-view-switcher,.screen-mode .demo-view-switcher{left:auto;right:16px;bottom:12px;height:auto;padding:0;border:1px solid #d7cadb;border-radius:10px;background:#fffdf8;color:#43234c;backdrop-filter:none;display:block}.demo-view-switcher summary{cursor:pointer;padding:11px 15px;font-size:11px;list-style:none}.demo-tools-menu{display:grid;padding:10px;gap:4px;min-width:210px}.demo-tools-menu strong{font-size:10px;padding:6px 10px;color:#7d6a82}.demo-tools-menu a,.demo-tools-menu button{font-size:12px!important;text-align:left;color:#43234c!important;margin:0!important;padding:10px!important;border:0!important;background:#f2edf4!important}.screen-mode .demo-view-switcher{opacity:.2}.screen-mode .demo-view-switcher:hover,.screen-mode .demo-view-switcher:focus-within{opacity:1}.presentation-group-details>summary{cursor:pointer;padding:8px 0;color:#84768a;font-size:12px}.presentation-group-details .card{margin-top:12px}.cloud-group-entry h3{margin:14px 0}.bottom-note{line-height:1.5}@media(max-width:760px){.mobile-nav{bottom:0}.demo-view-switcher,.organizer-mode .demo-view-switcher{bottom:82px;right:10px}.screen-mode .demo-view-switcher{bottom:10px}.demo-view-switcher summary{padding:9px 12px}.demo-tools-menu{max-width:80vw}}
