/* Bokeh — To‘q ko‘k kech, suzib yuruvchi yumshoq oltin chiroqlar (bokeh), yulduzlar — romantik kechki bazm. Ranglar manifest sxemasidan; animatsiyalar prefers-reduced-motion da o‘chadi. */
.t-bokeh .inv{background:radial-gradient(ellipse at 50% 10%,var(--p2),var(--p1) 70%);color:var(--tx)}
.t-bokeh .wash{position:absolute;inset:-10%;pointer-events:none;background:radial-gradient(circle at 12% 18%,var(--w1) 0 34px,transparent 35px),radial-gradient(circle at 78% 12%,var(--w2) 0 22px,transparent 23px),radial-gradient(circle at 88% 42%,var(--w1) 0 40px,transparent 41px),radial-gradient(circle at 22% 62%,var(--w3) 0 26px,transparent 27px),radial-gradient(circle at 62% 76%,var(--w1) 0 30px,transparent 31px),radial-gradient(circle at 40% 30%,var(--w4) 0 16px,transparent 17px),radial-gradient(circle at 8% 88%,var(--w2) 0 44px,transparent 45px);filter:blur(10px);animation:bokehDrift 18s ease-in-out infinite alternate;opacity:.85}
.t-bokeh .wash::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 70% 60%,var(--w2) 0 18px,transparent 19px),radial-gradient(circle at 30% 85%,var(--w1) 0 24px,transparent 25px),radial-gradient(circle at 55% 15%,var(--w3) 0 14px,transparent 15px);filter:blur(6px);animation:bokehDrift 24s ease-in-out infinite alternate-reverse}
@keyframes bokehDrift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-4%,-6%,0) scale(1.08)}}
.t-bokeh .gate{background:radial-gradient(ellipse at 50% 25%,var(--p2),var(--p1) 75%);color:var(--tx)}
.t-bokeh .frame{border:1px solid var(--line);border-radius:30px;background:var(--card);backdrop-filter:blur(12px);box-shadow:0 30px 60px rgba(0,0,0,.4)}
.t-bokeh .names{font-size:56px;color:var(--gl);text-shadow:0 0 22px var(--w1)} .t-bokeh .names .amp{color:var(--tx2)}
.t-bokeh .greeting p::first-line{font-size:34px;color:var(--gl)}
.t-bokeh .datebig{font-family:var(--fn);font-size:60px;font-weight:600;color:var(--gl)}
.t-bokeh .cd div,.t-bokeh .ev,.t-bokeh .parents div,.t-bokeh .note,.t-bokeh .wi,.t-bokeh .gift .card,.t-bokeh .tl .it,.t-bokeh .next{border:1px solid var(--line);border-radius:20px;background:var(--card);backdrop-filter:blur(8px)}
.t-bokeh .cd b,.t-bokeh .ev .t{font-family:var(--fn);font-size:32px;color:var(--gl)}
.t-bokeh .btn{border-color:var(--gl);color:var(--gl)} .t-bokeh .btn.primary,.t-bokeh .env-seal{background:var(--gl);color:var(--p1);border-color:var(--gl)}
.t-bokeh .photo{border:3px solid var(--gl);border-radius:50%;box-shadow:0 0 50px var(--w1)}
@media (prefers-reduced-motion:reduce){.t-bokeh .wash,.t-bokeh .wash::after{animation:none}}
