@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Playfair+Display:wght@700;800&display=swap');
:root{--pink:#f04491;--pink-dark:#d92b78;--pink-soft:#fff0f7;--blue:#33a7e8;--blue-dark:#167ab7;--blue-soft:#e8f7ff;--gold:#dcae3c;--gold-light:#ffe49a;--navy:#173b63;--ink:#213954;--muted:#728399;--line:#e5edf5;--white:#fff;--shadow:0 18px 50px rgba(28,76,119,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100%;font-family:"DM Sans",system-ui,sans-serif;color:var(--ink)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.modal-open{overflow:hidden}
.game-body{background:radial-gradient(circle at 8% 10%,#ffe3f1 0,transparent 24%),radial-gradient(circle at 93% 8%,#dff5ff 0,transparent 27%),linear-gradient(135deg,#fff8fc,#f4fbff 52%,#fffaf0);position:relative;overflow-x:hidden}
.game-body:before,.game-body:after{content:"✦";position:fixed;font-size:160px;color:rgba(240,68,145,.045);z-index:-1}.game-body:before{left:-30px;top:180px}.game-body:after{content:"◆";right:-35px;bottom:20px;color:rgba(51,167,232,.05)}
.game-header{max-width:1180px;margin:auto;padding:24px 32px;display:flex;align-items:center;justify-content:space-between}.game-brand,.admin-brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:-.03em}.game-brand>span:last-child{font-size:1.22rem}.game-brand b,.admin-brand b{color:var(--navy)}.game-brand strong,.admin-brand strong{color:var(--pink);margin-left:4px}.brand-gift,.admin-brand>span{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,var(--pink),#ff7db7 58%,var(--gold));box-shadow:0 9px 24px rgba(240,68,145,.24);font-size:22px}.secure-pill,.chance{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:.78rem;font-weight:700;box-shadow:0 5px 18px rgba(27,74,112,.06)}.secure-pill i,.chance i,.side-status>i{width:8px;height:8px;border-radius:50%;background:#28c77b;box-shadow:0 0 0 4px rgba(40,199,123,.13)}
.game-shell{width:min(980px,calc(100% - 32px));margin:24px auto 70px}.intro{text-align:center;max-width:720px;margin:38px auto 30px}.eyebrow,.panel-kicker,.modal-kicker{font-size:.72rem;letter-spacing:.18em;font-weight:800;color:var(--pink)}.intro h1{font-family:"Playfair Display",serif;font-size:clamp(2.7rem,7vw,5.2rem);line-height:.98;letter-spacing:-.045em;margin:15px 0 18px;color:var(--navy)}.intro h1 span{background:linear-gradient(95deg,var(--pink),#f26e9f 38%,var(--gold));-webkit-background-clip:text;color:transparent}.intro p{font-size:1.05rem;color:var(--muted);margin:0}.howto{margin:22px auto 0;display:flex;justify-content:center;align-items:center;gap:9px;color:#718399;font-size:.78rem;font-weight:700}.howto span{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--blue)}.howto b{color:#d8e2eb}
.gift-board{background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.8);border-radius:30px;padding:26px;box-shadow:var(--shadow);position:relative;overflow:hidden}.gift-board:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--pink),var(--gold-light),var(--blue))}.board-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.board-head small{color:var(--pink);font-weight:800;letter-spacing:.14em}.board-head h2{margin:3px 0 0;color:var(--navy);font-size:1.35rem}.chance{background:var(--pink-soft);border-color:#ffd6e9;color:var(--pink-dark);box-shadow:none}.chance i{background:var(--pink);box-shadow:0 0 0 4px rgba(240,68,145,.12)}
.envelopes{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.envelope{border:0;min-height:180px;border-radius:20px;position:relative;overflow:hidden;background:linear-gradient(145deg,#ff79ad,#f14686 56%,#da2c72);box-shadow:0 13px 24px rgba(218,44,114,.2),inset 0 0 0 2px rgba(255,255,255,.22);transition:transform .2s,box-shadow .2s}.envelope:hover{transform:translateY(-6px) rotate(-.5deg);box-shadow:0 19px 32px rgba(218,44,114,.27),inset 0 0 0 2px rgba(255,255,255,.26)}.envelope:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(255,255,255,.17),transparent 40%)}.env-flap{position:absolute;left:0;right:0;top:0;height:47%;clip-path:polygon(0 0,100% 0,50% 96%);background:linear-gradient(150deg,#ff8cbc,#ec4b8c);filter:drop-shadow(0 5px 5px rgba(169,20,85,.1))}.env-seal{position:absolute;z-index:3;width:62px;height:62px;left:50%;top:46%;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center;font-size:27px;background:radial-gradient(circle at 30% 25%,#fff4b0,var(--gold-light) 45%,#d8a936);border:3px solid rgba(255,255,255,.65);box-shadow:0 8px 18px rgba(106,69,0,.22)}.env-number{position:absolute;z-index:3;top:12px;left:14px;font-size:.72rem;color:rgba(255,255,255,.82);font-weight:800}.env-label{position:absolute;bottom:13px;left:50%;transform:translateX(-50%);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;font-weight:800}.spark{position:absolute;z-index:4;color:#fff1a5}.s1{right:16px;top:18px}.s2{left:18px;bottom:35px;font-size:.65rem}.envelope.inactive{filter:grayscale(.8);opacity:.55;cursor:not-allowed}.envelope.inactive:hover{transform:none}.board-note{text-align:center;color:var(--muted);font-size:.78rem;margin:20px 0 0}.game-login-wrap{display:flex;justify-content:center;margin-top:15px}.game-login-btn{min-width:210px;display:inline-flex;align-items:center;justify-content:center;gap:13px;padding:13px 28px;border-radius:13px;color:#fff;font-weight:900;letter-spacing:.1em;background:linear-gradient(135deg,var(--pink),#ef689f 54%,var(--gold));box-shadow:0 10px 24px rgba(217,43,120,.23);transition:transform .18s,box-shadow .18s}.game-login-btn:hover{transform:translateY(-2px);box-shadow:0 14px 29px rgba(217,43,120,.3)}.game-login-btn span{font-size:1.1rem}.game-footer{text-align:center;padding:24px;color:#8795a6;font-size:.75rem;border-top:1px solid rgba(219,230,239,.7)}.game-footer span{color:var(--gold);margin:0 7px}
.modal{position:fixed;inset:0;z-index:100;display:none;place-items:center;padding:20px;background:rgba(15,45,75,.68);backdrop-filter:blur(9px)}.modal.open{display:grid;animation:fade .18s ease}.dialog{width:min(530px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:25px;padding:30px;box-shadow:0 28px 80px rgba(6,34,60,.28);position:relative;border:1px solid rgba(220,174,60,.3);animation:rise .24s ease}.small-dialog{width:min(420px,100%)}.center{text-align:center}.modal-close{position:absolute;right:16px;top:14px;width:34px;height:34px;border:0;border-radius:50%;background:#f4f7fa;color:#7b8a98;font-size:22px}.dialog-icon{width:67px;height:67px;margin:4px auto 14px;border-radius:20px;display:grid;place-items:center;font-size:34px;background:linear-gradient(145deg,var(--pink-soft),#eaf8ff);border:1px solid #ffe0ed}.dialog h2,.dialog h3{color:var(--navy);margin:8px 0}.dialog h3{font-size:1.55rem}.dialog p{color:var(--muted);line-height:1.55}.actions{display:grid;grid-template-columns:1fr 1.25fr;gap:10px;margin-top:22px}.btn{border:0;border-radius:12px;padding:12px 17px;font-weight:800;transition:transform .15s,filter .15s}.btn:hover{transform:translateY(-1px);filter:brightness(1.03)}.btn-primary{color:#fff;background:linear-gradient(135deg,var(--pink),var(--pink-dark));box-shadow:0 8px 20px rgba(217,43,120,.23)}.btn-light{background:#f7f9fb;border:1px solid #e2e9ef;color:#596a7b}.prize-reveal{text-align:center;margin:-30px -30px 23px;padding:22px;background:linear-gradient(135deg,#fff0f7,#eef9ff 54%,#fff8df);border-radius:25px 25px 0 0;border-bottom:1px solid #ffe4ee}.prize-reveal>span{font-size:25px;display:block}.prize-reveal small,.prize-reveal strong{display:block}.prize-reveal small{font-size:.65rem;letter-spacing:.13em;font-weight:800;color:var(--pink);margin:5px}.prize-reveal strong{font-family:"Playfair Display",serif;color:var(--navy);font-size:1.75rem}.form-lead{margin-top:0!important;font-size:.85rem}.form-grid{display:grid;gap:13px}.form-section{font-weight:800;color:var(--blue-dark);border-bottom:1px solid var(--line);padding:9px 0 8px}.form-section span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--blue-soft);font-size:.68rem;margin-right:6px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:11px}.field{display:block;font-size:.78rem;font-weight:700;color:#455a70}.field em{color:var(--pink);font-style:normal}.field input,.field select{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid #dce6ef;border-radius:10px;outline:none;background:#fbfdff;font-size:.85rem}.field input:focus,.field select:focus{border-color:#77c9f3;box-shadow:0 0 0 3px rgba(51,167,232,.12)}.claim-btn{margin-top:7px;width:100%;display:flex;justify-content:center;gap:12px}.privacy-note{text-align:center;color:#8a98a7;font-size:.68rem}.success-ring{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;margin:3px auto 15px;color:#fff;font-size:30px;background:linear-gradient(145deg,#37c989,#1aa76d);box-shadow:0 9px 24px rgba(27,172,113,.22)}.full-btn{width:100%;margin-top:12px}
/* admin */
.admin-body{background:#f4f8fc}.admin-layout{min-height:100vh;display:grid;grid-template-columns:255px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#153a61,#174a78 66%,#175b83);padding:27px 20px;color:#fff;display:flex;flex-direction:column}.admin-brand{padding:0 8px}.admin-brand>span{flex:0 0 43px}.admin-brand div{line-height:1}.admin-brand b,.admin-brand strong{font-size:1rem}.admin-brand b{color:#fff}.admin-brand small{display:block;margin-top:7px;font-size:.55rem;letter-spacing:.18em;color:#8fcff0}.side-nav{display:grid;gap:7px;margin-top:38px}.side-nav>small{font-size:.59rem;letter-spacing:.16em;color:#76a8c8;margin:17px 12px 5px;font-weight:800}.side-nav a{display:flex;gap:11px;align-items:center;padding:11px 12px;border-radius:10px;color:#c9def0;font-size:.82rem;font-weight:700}.side-nav a span{width:20px;text-align:center;font-size:1rem}.side-nav a:hover,.side-nav a.active{background:rgba(255,255,255,.1);color:#fff}.side-nav a.active{box-shadow:inset 3px 0 var(--pink)}.side-status{margin-top:auto;display:flex;align-items:center;gap:11px;border:1px solid rgba(255,255,255,.1);border-radius:13px;padding:12px;background:rgba(255,255,255,.05)}.side-status div{display:grid}.side-status b{font-size:.75rem}.side-status small{font-size:.62rem;color:#91bbd5}.admin-main{padding:30px clamp(22px,4vw,52px);min-width:0}.admin-topbar{display:flex;align-items:center;gap:16px;margin-bottom:25px}.admin-topbar>div{flex:1}.admin-topbar h1{margin:4px 0 3px;color:var(--navy);font-size:1.75rem}.admin-topbar p{margin:0;color:var(--muted);font-size:.82rem}.preview-btn{font-size:.78rem}.menu-toggle{display:none;border:0;background:#fff;border-radius:10px;padding:10px;box-shadow:0 4px 13px rgba(28,76,119,.08)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:17px}.stat{display:flex;align-items:center;gap:14px;background:#fff;border-radius:17px;padding:18px;border:1px solid var(--line);box-shadow:0 7px 24px rgba(28,76,119,.055)}.stat-icon{width:51px;height:51px;display:grid;place-items:center;border-radius:14px;font-size:22px}.pink-stat .stat-icon{background:var(--pink-soft)}.blue-stat .stat-icon{background:var(--blue-soft);color:var(--blue)}.gold-stat .stat-icon{background:#fff8df;color:var(--gold)}.stat div:last-child{display:grid}.stat small{font-size:.68rem;font-weight:700;color:var(--muted)}.stat b{font-size:1.55rem;color:var(--navy);line-height:1.15}.stat em{font-size:.61rem;color:#98a5b3;font-style:normal}.admin-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,.8fr);gap:17px}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 8px 25px rgba(28,76,119,.05)}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.panel h2{margin:3px 0 0;color:var(--navy);font-size:1.08rem}.count-badge{padding:6px 10px;background:var(--blue-soft);border-radius:999px;color:var(--blue-dark);font-size:.68rem;font-weight:800}.admin-table{border:1px solid var(--line);border-radius:12px;overflow:hidden}.table-head,.table-row{display:grid;grid-template-columns:1.1fr 1fr .75fr .35fr;align-items:center;gap:10px}.table-head{padding:9px 12px;background:#f6f9fc;color:#8392a2;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.table-row{padding:9px 12px;border-top:1px solid var(--line);font-size:.75rem}.env-cell{display:flex;align-items:center;gap:9px}.env-cell>i{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;background:var(--pink-soft);color:var(--pink);font-size:.62rem;font-style:normal;font-weight:800}.value-button{border:0;background:transparent;color:var(--navy);font-weight:700;padding:5px}.value-button i{color:#9eacb9;margin-left:4px}.status-switch{border:0;background:#f2f5f7;color:#8794a1;border-radius:999px;padding:6px 9px;display:inline-flex;align-items:center;gap:6px;font-size:.65rem;font-weight:800}.status-switch i{width:7px;height:7px;border-radius:50%;background:#aeb8c1}.status-switch.on{background:#e9faf2;color:#1a9c65}.status-switch.on i{background:#27c47b}.icon-button{width:29px;height:29px;border:1px solid var(--line);background:#fff;border-radius:8px;color:#72879a}.admin-form{display:grid;gap:12px}.admin-form label{font-size:.76rem;font-weight:700;color:#4e6276}.admin-form textarea{display:block;resize:vertical;width:100%;margin-top:7px;border:1px solid var(--line);background:#fbfdff;border-radius:11px;padding:11px;outline:none;font-size:.8rem;line-height:1.45}.admin-form label>small{display:block;text-align:right;color:#99a5b0;font-size:.62rem;font-weight:500}.admin-form .btn{font-size:.75rem}.save-message{display:none;color:#209a68;font-size:.7rem;text-align:center;font-weight:700}.save-message.show{display:block}.demo-alert{display:flex;align-items:flex-start;gap:10px;margin-top:16px;background:#fff9e9;border:1px solid #f1df9f;border-radius:12px;padding:12px;color:#826a20}.demo-alert>span{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#f5d875;font-weight:800;font-size:.72rem}.demo-alert p{margin:0;font-size:.68rem;line-height:1.45}.claims-panel{grid-column:1/-1}.text-btn{border:0;background:var(--pink-soft);color:var(--pink-dark);padding:7px 10px;border-radius:8px;font-size:.67rem;font-weight:800}.claims-table{width:100%;border-collapse:collapse;font-size:.73rem}.claims-table th{text-align:left;padding:9px 10px;color:#8b98a6;background:#f6f9fc;font-size:.61rem;text-transform:uppercase;letter-spacing:.05em}.claims-table td{padding:10px;border-top:1px solid var(--line);color:#52687d}.claims-table td small{display:block;color:#9ba7b3;margin-top:2px}.claims-table strong{color:var(--pink)}.empty-state{text-align:center;padding:23px;color:var(--muted)}.empty-state span{font-size:28px}.empty-state b{display:block;color:var(--navy);font-size:.82rem}.empty-state p{font-size:.7rem;margin:3px}.toast{position:fixed;right:22px;bottom:22px;padding:12px 16px;background:var(--navy);color:#fff;border-radius:11px;box-shadow:var(--shadow);font-size:.76rem;font-weight:700;transform:translateY(80px);opacity:0;transition:.25s;z-index:200}.toast.show{transform:none;opacity:1}
@keyframes fade{from{opacity:0}to{opacity:1}}@keyframes rise{from{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:900px){.envelopes{grid-template-columns:repeat(2,1fr)}.admin-layout{grid-template-columns:1fr}.sidebar{position:fixed;left:-270px;width:255px;z-index:50;transition:.25s;box-shadow:20px 0 50px rgba(0,0,0,.2)}.sidebar.open{left:0}.menu-toggle{display:block}.admin-grid{grid-template-columns:1fr}.appearance-panel{grid-column:1}.admin-main{padding:22px}.stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.game-header{padding:18px}.secure-pill{font-size:.65rem}.game-shell{margin-top:8px}.intro{margin-top:24px}.intro h1{font-size:2.75rem}.howto{gap:6px;font-size:.65rem}.gift-board{padding:17px;border-radius:23px}.board-head{align-items:flex-start}.chance{font-size:.62rem;padding:7px 9px}.envelopes{gap:10px}.envelope{min-height:145px}.env-seal{width:52px;height:52px;font-size:23px}.field-row{grid-template-columns:1fr}.dialog{padding:23px}.prize-reveal{margin:-23px -23px 20px}.stats{grid-template-columns:1fr}.admin-topbar{align-items:flex-start}.preview-btn{padding:10px;font-size:0}.preview-btn span{font-size:1rem}.admin-grid{display:block}.panel{margin-bottom:15px}.table-head{display:none}.table-row{grid-template-columns:1fr 1fr;gap:9px;padding:12px}.table-row>span:nth-child(3){grid-column:1}.table-row>span:last-child{text-align:right}.claim-table-wrap{overflow-x:auto}.claims-table{min-width:660px}.game-footer span{display:none}}
@media(max-width:390px){.game-brand>span:last-child{font-size:.95rem}.secure-pill{padding:7px}.intro h1{font-size:2.35rem}.howto b{display:none}.envelope{min-height:125px}.env-label{font-size:.6rem}.chance{display:none}}
