/* ---- Новая фирменная визуальная система ---- */
.brand-mark{
  width:54px;height:54px;border-radius:16px;flex-shrink:0;position:relative;overflow:hidden;
  background:linear-gradient(145deg,#77B7FF,#1F69EA);
  box-shadow:0 7px 18px rgba(52,120,246,.22);
}
.brand-mark:before,.brand-mark:after{content:'';position:absolute;border:9px solid rgba(255,255,255,.42);border-radius:40px;transform:rotate(28deg);}
.brand-mark:before{width:65px;height:22px;left:-20px;top:7px;}
.brand-mark:after{width:68px;height:25px;left:12px;top:28px;}
.brand-word{font-family:'Baloo 2';font-weight:800;letter-spacing:-.5px;color:var(--navy);}
.home-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.home-brand small{display:block;color:var(--muted);font-size:11px;font-weight:700;margin-top:2px;}
.section-icon{width:42px;height:42px;border-radius:13px;background:var(--purple-light);display:flex;align-items:center;justify-content:center;font-size:21px;}
.archive-card{display:flex;align-items:center;gap:12px;background:var(--white);border-radius:18px;box-shadow:var(--shadow);padding:14px;margin-bottom:10px;}
.archive-card .archive-info{flex:1;min-width:0;}
.archive-card h3{font-family:'Manrope';font-size:15px;font-weight:800;}
.archive-card p{margin:3px 0 0;color:var(--muted);font-size:11.5px;font-weight:600;}
.archive-ring{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:conic-gradient(var(--purple) var(--pct),#E5EAF3 0);position:relative;font-size:11px;font-weight:800;color:var(--purple-dark);}
.archive-ring:after{content:'';position:absolute;inset:6px;background:#fff;border-radius:50%;}
.archive-ring span{position:relative;z-index:1;}
.archive-empty{background:var(--navy);color:#fff;border-radius:18px;padding:16px;margin-top:14px;}
.archive-empty p{margin:5px 0 0;color:rgba(255,255,255,.72);font-size:12px;line-height:1.4;}

/* bingo reward modal */
.bingo-reward-overlay{position:fixed;inset:0;background:rgba(20,33,61,.62);backdrop-filter:blur(5px);display:none;align-items:center;justify-content:center;padding:22px;z-index:120;}
.bingo-reward-overlay.show{display:flex;}
.bingo-reward-modal{width:min(360px,100%);background:#fff;border-radius:28px;padding:26px 22px 22px;text-align:center;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.22);overflow:hidden;}
.bingo-reward-modal:before{content:'✦  ·  ✧  ·  ✦  ·  ✧';position:absolute;top:10px;left:0;right:0;color:#8BB9FF;font-size:20px;letter-spacing:8px;}
.bingo-reward-close{position:absolute;right:12px;top:12px;width:34px;height:34px;border:0;border-radius:50%;background:#F1F4F8;color:var(--navy);font-size:20px;cursor:pointer;}
.gift-art{width:130px;height:110px;margin:24px auto 8px;position:relative;}
.gift-box{position:absolute;left:22px;right:22px;bottom:6px;height:66px;background:linear-gradient(145deg,#7CB5FF,#286DEB);border-radius:8px;box-shadow:0 12px 22px rgba(52,120,246,.2);}
.gift-box:before{content:'';position:absolute;left:50%;top:0;bottom:0;width:18px;transform:translateX(-50%);background:#DCEAFF;}
.gift-box:after{content:'';position:absolute;left:50%;top:-20px;width:88px;height:34px;transform:translateX(-50%);background:#3478F6;border-radius:50% 50% 8px 8px;}
.gift-ribbon{position:absolute;left:50%;top:-22px;width:18px;height:34px;transform:translateX(-50%);background:#fff;border-radius:8px;z-index:2;}
.bingo-reward-modal h2{font-size:27px;margin:6px 0 6px;}
.bingo-reward-modal p{font-size:13px;color:var(--muted);line-height:1.45;margin:0 auto 16px;max-width:280px;}
.reward-primary{width:100%;padding:14px;border:0;border-radius:14px;background:var(--purple);color:#fff;font-family:'Manrope';font-weight:800;font-size:14px;cursor:pointer;}
