:root{--pink:#ff1685;--pink2:#ff4aa7;--orange:#ff7a00;--cream:#fff3e8;--bg:#090008;--card:#120812;--line:#a91361;--text:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 20% 10%,#2b001b 0,#090008 38%),radial-gradient(circle at 80% 30%,#3b1500 0,#090008 38%);min-height:100vh;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.28;background-image:radial-gradient(circle,#ff1685 1px,transparent 1px),radial-gradient(circle,#ff7a00 1px,transparent 1px);background-size:48px 48px,72px 72px;background-position:0 0,18px 25px}
.page{max-width:1050px;margin:auto;padding:28px 18px 80px;position:relative}.narrow{max-width:1200px}
.welcome{min-height:100vh;display:grid;place-items:center;padding:30px 0;position:relative}.welcome-card,.card{position:relative;background:linear-gradient(145deg,rgba(24,6,20,.96),rgba(10,3,10,.96));border:1px solid var(--line);border-radius:28px;box-shadow:0 20px 80px rgba(255,22,133,.15),inset 0 0 40px rgba(255,122,0,.04)}
.welcome-card{max-width:760px;background:var(--cream);color:#190611;padding:46px 54px;border-color:#ff8b22;box-shadow:0 25px 90px rgba(255,22,133,.28)}.welcome-card:after{content:"🌸  🌺  🍊  🌸";position:absolute;left:20px;right:20px;bottom:-26px;text-align:center;font-size:28px;filter:drop-shadow(0 5px 10px #ff1685)}
.script{font-family:cursive;color:var(--pink);font-size:54px;line-height:.9;text-align:center}.script span{color:var(--orange)}.welcome-card p{font-size:17px;line-height:1.65}.welcome-card h3{color:var(--pink);margin-bottom:4px}.welcome-card li{margin:9px 0}.welcome-card li::marker{color:var(--pink)}.signature{text-align:center;font:italic 42px cursive;color:var(--pink);margin:20px}.signature span{color:var(--orange)}
.btn{display:inline-flex;justify-content:center;align-items:center;text-decoration:none;border-radius:14px;padding:15px 25px;font-weight:900;letter-spacing:.5px;border:1px solid transparent;cursor:pointer}.primary{background:linear-gradient(90deg,var(--pink),var(--orange));color:white;box-shadow:0 10px 35px rgba(255,22,133,.3)}.outline{color:#fff;border-color:var(--pink);background:transparent}.welcome-card .btn{width:100%}
.flower-corner{position:absolute;font-size:100px;line-height:1;color:var(--pink);text-shadow:30px 20px 0 var(--orange),-22px 42px 0 #ff78ba;opacity:.9}.flower-left{left:-15px;top:20px}.flower-right{right:-15px;bottom:35px;transform:rotate(30deg)}.petals,.orange{display:none}.page:before,.page:after{content:"";position:fixed;top:70px;bottom:0;width:260px;background:url("/static/floral.svg") center top/contain no-repeat;opacity:.92;z-index:-1;pointer-events:none}.page:before{left:-75px}.page:after{right:-75px;transform:scaleX(-1)}
.hero{text-align:center;padding:35px 0 25px}.hero .date{color:var(--pink);letter-spacing:8px;font-weight:800}.hero h1{font-size:clamp(42px,8vw,82px);margin:10px 0 0;line-height:.8}.hero h1 strong{display:block;font-size:clamp(110px,22vw,210px);line-height:.78;background:linear-gradient(135deg,var(--pink),var(--orange));-webkit-background-clip:text;color:transparent;text-shadow:0 0 45px rgba(255,22,133,.2)}.under{letter-spacing:10px;font-size:12px;font-weight:800}.countdown{display:flex;justify-content:center;gap:10px;align-items:center;margin:35px auto}.countdown div{min-width:75px}.countdown b{display:block;font-size:34px;color:#fff}.countdown small{color:#ff75ba}.countdown i{font-style:normal;color:var(--orange);font-size:30px}
.actions{max-width:680px;margin:auto;display:grid;gap:10px}.action{display:grid;grid-template-columns:55px 1fr 25px;align-items:center;text-align:left;padding:15px 18px;border-radius:16px;color:white;text-decoration:none;background:linear-gradient(90deg,#8f0050,#3d101f 65%,#7a2600);border:1px solid var(--pink);box-shadow:inset 0 0 30px rgba(255,122,0,.12)}.action span{font-size:28px}.action b{font-size:16px}.action em{grid-column:2/4;font-style:normal;font-size:12px;color:#ffb9d8;margin-top:2px}.card{padding:28px;margin-top:28px}.card h2{text-align:center;margin-top:0}.upload{text-align:center}.drop{display:grid;gap:8px;border:2px dashed #ff5aa9;border-radius:18px;padding:30px;margin:20px 0;cursor:pointer}.drop input{display:none}.drop span{font-size:19px;font-weight:800}.drop small{opacity:.7}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.tile{position:relative;aspect-ratio:1;overflow:hidden;border-radius:14px;border:1px solid #8c165c;background:#180916}.tile img,.tile video{width:100%;height:100%;object-fit:cover}.play,.download{position:absolute;right:8px;bottom:8px;background:#ff1685;color:#fff;border-radius:50%;width:34px;height:34px;display:grid;place-items:center}.download{font-size:16px}
.bingo{text-align:center}.bingo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.bingo-cell{min-height:100px;padding:12px;border:1px solid #a81563;border-radius:14px;background:linear-gradient(145deg,#0c080e,#1b0716);color:white;font-weight:700;cursor:pointer;position:relative;transition:.2s}.bingo-cell:hover{border-color:var(--orange);transform:translateY(-2px)}.bingo-cell.done{background:linear-gradient(145deg,var(--pink),#b4005f);border-color:#ffb8db;box-shadow:0 0 22px rgba(255,22,133,.35)}.bingo-cell span{display:none}.bingo-cell.done span{display:block;font-size:20px;margin-top:8px}.bingo-win{margin:18px auto 0;padding:18px;border-radius:16px;background:linear-gradient(90deg,var(--pink),var(--orange));font-size:22px;font-weight:900}
.toast{position:fixed;z-index:99;right:18px;top:18px;background:#1c0617;border:1px solid var(--orange);padding:13px 18px;border-radius:12px}
.admin-wrap{min-height:100vh;padding:40px;background:#080008}.admin-login{max-width:440px;margin:10vh auto;text-align:center}.admin-logo{width:72px;height:72px;margin:0 auto 15px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,var(--pink),var(--orange));font-size:34px;font-weight:1000}.input{width:100%;padding:15px;border-radius:12px;border:1px solid #8e185d;background:#10050f;color:white;margin:12px 0}.admin-login .btn{width:100%}.admin-login a{display:block;color:#ff7abb;margin-top:18px}
.admin-shell{max-width:1250px;margin:auto;display:grid;grid-template-columns:230px 1fr;background:#0e080e;border:1px solid #7b1551;border-radius:20px;overflow:hidden;min-height:80vh}.admin-shell aside{background:#0a070b;padding:25px}.admin-shell aside h2{font-size:17px;color:#ffb4d8}.admin-shell aside a{display:block;padding:13px 10px;color:#ddd;text-decoration:none;border-radius:10px;margin:4px 0}.admin-shell aside a.active{background:#ff1685;color:white}.admin-content{padding:28px}.admin-head{display:flex;justify-content:space-between;align-items:center}.admin-head span{color:#ff77b8}.admin-grid{display:grid;gap:10px;margin-top:20px}.admin-item{display:grid;grid-template-columns:90px 1fr auto;gap:15px;align-items:center;padding:10px;border:1px solid #4e1739;border-radius:14px;background:#120a12}.thumb{width:90px;height:70px;border-radius:10px;overflow:hidden}.thumb img,.thumb video{width:100%;height:100%;object-fit:cover}.meta b,.meta small{display:block}.meta small{opacity:.6;margin-top:5px}.admin-actions{display:flex;gap:8px;align-items:center}.admin-actions a,.admin-actions button{border:0;background:#24101e;color:white;border-radius:9px;padding:9px;text-decoration:none;cursor:pointer}.admin-actions button{background:#8c104e}
@media(max-width:700px){.page{padding:12px 10px 50px}.welcome-card{padding:34px 24px}.script{font-size:44px}.grid{grid-template-columns:repeat(2,1fr)}.bingo-grid{grid-template-columns:repeat(3,1fr);gap:5px}.bingo-cell{min-height:95px;padding:7px;font-size:11px}.action{grid-template-columns:42px 1fr 18px}.action b{font-size:13px}.hero h1 strong{font-size:120px}.admin-shell{grid-template-columns:1fr}.admin-shell aside{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-shell aside h2{display:none}.admin-logo{width:48px;height:48px;margin:0}.admin-content{padding:16px}.admin-item{grid-template-columns:65px 1fr auto}.thumb{width:65px;height:55px}}
/* Kwiatowa wersja inspirowana projektem referencyjnym */
body{background:radial-gradient(circle at 10% 8%,#4a002b 0,#0a0008 34%),radial-gradient(circle at 90% 25%,#5b1b00 0,#0a0008 36%),#0a0008}
body:after{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 25%,rgba(255,22,133,.18),transparent 18%),radial-gradient(circle at 85% 75%,rgba(255,122,0,.14),transparent 18%);z-index:-2}
.floral-side{position:absolute;top:0;bottom:0;width:210px;background:url('/static/floral.svg') center top/cover no-repeat;pointer-events:none;opacity:.95}.floral-side.left{left:-45px}.floral-side.right{right:-45px;transform:scaleX(-1)}
.floral-frame{overflow:visible}.floral-frame:before,.floral-frame:after{content:"";position:absolute;width:180px;height:280px;background:url('/static/floral.svg') center/contain no-repeat;top:20px;opacity:.9;pointer-events:none}.floral-frame:before{left:-105px}.floral-frame:after{right:-105px;transform:scaleX(-1)}
.floral-card{overflow:hidden}.floral-card:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,rgba(255,22,133,.10),transparent 22%,transparent 78%,rgba(255,122,0,.10));pointer-events:none}.card-flower{position:absolute;font-size:90px;color:var(--pink);text-shadow:34px 22px 0 var(--orange),-28px 45px 0 #ff80be;opacity:.65;pointer-events:none}.card-flower.f1{left:-25px;top:-28px}.card-flower.f2{right:-25px;bottom:-28px;transform:rotate(35deg)}
.selected-files{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 16px}.file-chip{padding:7px 10px;border-radius:999px;background:#26091e;border:1px solid #8f175a;color:#ffc5e2;font-size:12px}.progress{height:12px;background:#260a1e;border-radius:999px;overflow:hidden;border:1px solid #7e1450}.progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--pink),var(--orange));transition:width .15s}.progress-wrap{margin:10px 0 18px}.progress-wrap small{display:block;margin-top:6px;color:#ffb4d6}.upload-message{margin-top:12px;font-weight:800}.upload-message.success{color:#7dffb1}.upload-message.error{color:#ff8d9e}
@media(max-width:700px){.floral-side{width:130px;opacity:.75}.floral-side.left{left:-65px}.floral-side.right{right:-65px}.floral-frame:before,.floral-frame:after{width:120px;opacity:.65}.floral-frame:before{left:-65px}.floral-frame:after{right:-65px}}
