/* AMN Hub · Служба */
.old{color:var(--dim);font-size:.6em;margin-right:6px;font-weight:600;text-decoration-thickness:2px}
.no-scroll{overflow:hidden}

/* мини-карточка на главной */
.svc-mini{display:flex;align-items:center;gap:14px;margin-top:12px;padding:14px 16px}
.sm-ins{flex:none;width:52px;height:64px;display:grid;place-items:center;filter:drop-shadow(0 6px 14px rgba(143,184,115,.25))}
.sm-ins .ins{width:44px;height:55px}
.sm-t{flex:1;min-width:0}
.sm-t .eyebrow{margin:0;font-size:9.5px}
.sm-t b{display:block;font-size:20px}
.sm-t .muted{font-size:12px}
.sm-bar{height:4px;border-radius:3px;background:rgba(255,255,255,.07);margin:6px 0 5px;overflow:hidden}
.sm-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--g),var(--g3));box-shadow:0 0 10px rgba(143,184,115,.6)}
.sm-cta{flex:none;width:62px;height:62px;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:rgba(143,184,115,.08);border:1px solid var(--line2);color:var(--g3)}
.sm-cta small{font-size:9.5px;font-weight:700;color:var(--muted)}
.sm-cta.hot{color:var(--warn);border-color:rgba(216,180,94,.35);background:rgba(216,180,94,.08);animation:pulse 1.8s infinite}

/* шапка и 3D-сцена */
.svc-h h1{font-size:34px}
.stage{position:relative;padding:0;overflow:hidden;background:radial-gradient(70% 60% at 50% 38%,#1f3019 0,#0b0f0a 62%,#070907);border-color:rgba(143,184,115,.18)}
.stage-glow{position:absolute;left:50%;top:44%;width:260px;height:260px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(143,184,115,.22),transparent 65%);animation:glow 5s ease-in-out infinite}
@keyframes glow{50%{opacity:.55;transform:translate(-50%,-50%) scale(1.15)}}
.stage-3d{position:relative;height:350px;touch-action:pan-y}
.stage-3d canvas{display:block;width:100%;height:100%;cursor:grab}
.stage-3d canvas:active{cursor:grabbing}
.stage-hint{position:absolute;top:322px;left:0;right:0;text-align:center;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-weight:700;animation:fadein 1s 1.6s both}
.hud{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;row-gap:8px;align-items:center;padding:14px 16px 16px;border-top:1px solid var(--line);background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.45))}
.hud-ins{grid-row:span 2;width:46px;height:58px;display:grid;place-items:center}
.hud-ins .ins{width:40px;height:50px;filter:drop-shadow(0 0 10px rgba(143,184,115,.4))}
.hud-main{display:flex;align-items:baseline;justify-content:space-between}
.hud-main span{font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--sub)}
.hud-main b{font-size:26px;font-weight:800;font-style:italic;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.hud-next span{font-size:12px;color:var(--muted)}
.hud-next span b{color:#fff}
.bar{height:6px;margin-top:6px;border-radius:4px;background:rgba(255,255,255,.07);overflow:hidden}
.bar i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#3d5a2c,#8fb873);box-shadow:0 0 12px rgba(143,184,115,.7);transition:width 1.4s var(--ease)}
.tag-css{height:100%;display:grid;place-items:center;perspective:800px}
.tag-css .tc{width:150px;height:230px;border-radius:30px;background:linear-gradient(135deg,#dfe5da,#8c9686 45%,#e9eee5 60%,#7d8778);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#1c221a;animation:spinY 8s linear infinite;box-shadow:0 30px 60px rgba(0,0,0,.6)}
.tag-css .tc .ins{width:54px;height:66px;filter:brightness(.25)}
.tag-css .tc b{font-weight:800;font-style:italic;font-size:22px}
.tag-css .tc span{font-weight:700;letter-spacing:.1em}

/* переключатель разделов */
.seg{position:relative;display:grid;grid-template-columns:repeat(4,1fr);margin:14px 0 4px;padding:5px;border-radius:18px;background:var(--card);border:1px solid var(--line)}
.seg button{position:relative;z-index:1;height:40px;font-size:12.5px;font-weight:700;color:var(--muted);transition:color .3s}
.seg button.on{color:#fff}
.seg-ind{position:absolute;top:5px;bottom:5px;left:5px;width:calc((100% - 10px)/4);border-radius:13px;background:linear-gradient(135deg,#4f7339,#2f4826);box-shadow:0 8px 20px -8px rgba(95,135,69,.9),inset 0 1px 0 rgba(255,255,255,.15);transition:transform .5s var(--spring)}
.seg-body{min-height:200px}
.seg-pane.swap{animation:paneIn .45s var(--ease) both}
@keyframes paneIn{from{opacity:0;transform:translateY(10px) scale(.99)}}
.seg-lead{font-size:13px;color:var(--muted);margin:12px 2px}
.seg-lead b{color:#fff}

/* дежурство */
.duty{margin-top:12px;padding:18px}
.duty-top{display:flex;align-items:center;justify-content:space-between}
.lbl{display:block;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--sub)}
.sn{display:flex;align-items:baseline;gap:6px;perspective:300px}
.sn b{font-size:58px;font-weight:800;font-style:italic;line-height:1;letter-spacing:-.04em;display:inline-block;background:linear-gradient(180deg,#fff,#a9c896);-webkit-background-clip:text;background-clip:text;color:transparent}
.sn b.flip{animation:flipNum .8s var(--spring)}
@keyframes flipNum{0%{transform:rotateX(90deg);opacity:0}100%{transform:none;opacity:1}}
.sn small{font-size:16px;color:var(--muted);font-weight:700}
.streak .muted{font-size:12px}
.ms{position:relative;width:74px;height:74px}
.ms svg{width:74px;height:74px;transform:rotate(-90deg)}
.ms circle{fill:none;stroke-width:5}
.ms .tr{stroke:rgba(255,255,255,.07)}
.ms .tp{stroke:var(--warn);stroke-linecap:round;stroke-dasharray:170;transition:stroke-dashoffset 1s var(--ease)}
.ms div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ms b{font-size:20px;font-weight:800;font-style:italic;line-height:1}
.ms span{font-size:8px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:0;margin-top:2px;max-width:56px;text-align:center;line-height:1.1}
.week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:16px}
.wd{text-align:center;font-size:10.5px;font-weight:700;color:var(--dim);animation:rise .5s var(--ease) both;animation-delay:calc(var(--k)*50ms)}
.wd i{display:grid;place-items:center;height:36px;margin-top:5px;border-radius:11px;background:rgba(255,255,255,.03);border:1px solid var(--line);color:#fff;transition:all .4s}
.wd i svg{width:16px;height:16px;stroke-width:2.6}
.wd.on i{background:linear-gradient(135deg,#5f8745,#34502a);border-color:transparent;box-shadow:0 6px 16px -6px rgba(95,135,69,.9)}
.wd.today span{color:#fff}
.wd.today i{border-color:var(--g3);border-style:dashed}
.wd.today.on i{border-style:solid}
.hold-wrap{display:flex;flex-direction:column;align-items:center;margin-top:22px}
.hold{--p:0;position:relative;width:168px;height:168px;border-radius:50%;display:grid;place-items:center;touch-action:none;user-select:none;-webkit-user-select:none;transform:scale(calc(1 - var(--p) * .06));transition:transform .15s}
.hold-ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.hold-ring circle{fill:none;stroke-width:6}
.hr-t{stroke:rgba(143,184,115,.14)}
.hr-p{stroke:var(--g3);stroke-linecap:round;filter:drop-shadow(0 0 8px rgba(143,184,115,.9))}
.hold-core{position:relative;width:132px;height:132px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:radial-gradient(circle at 35% 30%,#3c5a2c,#1b2915 70%);border:1px solid rgba(143,184,115,.4);box-shadow:0 18px 40px -12px rgba(95,135,69,.8),inset 0 2px 0 rgba(255,255,255,.14),inset 0 -10px 20px rgba(0,0,0,.4);transition:box-shadow .2s}
.hold-core svg{width:34px;height:34px;color:#e9f2e2}
.hold-core b{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.hold.holding .hold-core{box-shadow:0 6px 20px -6px rgba(95,135,69,.9),inset 0 2px 0 rgba(255,255,255,.1),inset 0 10px 24px rgba(0,0,0,.5)}
.hold .ripple{position:absolute;inset:14px;border-radius:50%;border:2px solid var(--g3);opacity:0;pointer-events:none}
.hold:not(.done):not(.fire) .ripple{animation:rip 2.4s ease-out infinite}
.hold .ripple.r2{animation-delay:1.2s!important}
@keyframes rip{0%{opacity:.5;transform:scale(1)}100%{opacity:0;transform:scale(1.35)}}
.hold.fire .hold-core{animation:fire .9s var(--spring)}
.hold.fire .ripple{animation:shock .9s ease-out forwards!important}
@keyframes fire{30%{transform:scale(.88)}100%{transform:scale(1)}}
@keyframes shock{0%{opacity:.9;transform:scale(.9);border-width:6px}100%{opacity:0;transform:scale(2.2);border-width:1px}}
.hold.done .hold-core{background:radial-gradient(circle at 35% 30%,#22301c,#121810 70%);border-color:var(--line2);box-shadow:inset 0 2px 0 rgba(255,255,255,.06)}
.hold.done .hold-core svg{color:var(--g3)}
.hold.done .hr-t{stroke:var(--g3);opacity:.5}
.hold-cap{margin-top:14px;font-size:13px;color:var(--muted)}
.hold-cap b{color:#fff;font-variant-numeric:tabular-nums}
.gain{position:fixed;z-index:95;transform:translateX(-50%);font-weight:800;font-style:italic;font-size:44px;color:#fff;text-shadow:0 0 24px rgba(143,184,115,.9);pointer-events:none;animation:gain 1.6s var(--ease) forwards}
@keyframes gain{0%{opacity:0;transform:translate(-50%,10px) scale(.6)}20%{opacity:1;transform:translate(-50%,-10px) scale(1.1)}100%{opacity:0;transform:translate(-50%,-110px) scale(1)}}
.rules,.journal{padding:4px 16px}
.rl,.jr{display:flex;align-items:center;gap:12px;padding:12px 0}
.rl+.rl,.jr+.jr{border-top:1px solid var(--line)}
.rl .ic{flex:none;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:rgba(143,184,115,.08);color:var(--g3)}
.rl .ic svg{width:17px;height:17px}
.rl div,.jr div{flex:1;min-width:0}
.rl b,.jr b{display:block;font-size:14px}
.rl span,.jr span{font-size:12px;color:var(--muted)}
.rl em,.jr em{font-style:italic;font-weight:800;color:var(--g3);font-size:15px;white-space:nowrap}

/* учения */
.drill{display:block;width:100%;text-align:left;padding:16px 18px;margin-bottom:12px;animation:rise .5s var(--ease) both;animation-delay:calc(var(--k)*80ms)}
.d-head{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.d-code{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--g3);padding:4px 8px;border-radius:7px;background:rgba(143,184,115,.1);border:1px solid var(--line2)}
.d-lvl{font-size:11px;color:var(--muted);font-weight:700}
.d-ok{margin-left:auto;font-size:11px;font-weight:800;color:#fff;padding:4px 9px;border-radius:999px;background:linear-gradient(135deg,#5f8745,#34502a)}
.drill b{display:block;font-size:22px}
.drill p{font-size:13px;color:var(--muted);margin-top:6px}
.d-foot{display:flex;align-items:center;gap:12px;margin-top:14px}
.pips{display:flex;gap:4px}
.pips i{width:16px;height:5px;border-radius:3px;background:rgba(255,255,255,.1)}
.pips i.on{background:var(--g3);box-shadow:0 0 8px rgba(143,184,115,.6)}
.d-pts{font-size:12px;color:var(--muted);flex:1}
.drill .go{width:38px;height:38px}
.drill.locked{opacity:.55;filter:saturate(.4)}
.d-lock{display:block;margin-top:10px;font-size:11.5px;color:var(--warn);font-weight:600}

/* звания */
.ladder{display:grid;gap:8px}
.rk{display:flex;width:100%;text-align:left;align-items:center;gap:14px;padding:12px 16px;opacity:.62}
.rk.got{opacity:1}
.rk.cur{border-color:var(--g2);background:linear-gradient(135deg,rgba(95,135,69,.2),rgba(95,135,69,.03));box-shadow:0 10px 30px -14px rgba(95,135,69,.9)}
.rk-ins{flex:none;width:42px;height:52px;display:grid;place-items:center}
.rk-ins .ins{width:36px;height:45px}
.rk:not(.got) .rk-ins .ins{filter:grayscale(1) brightness(.6)}
.rk-t{flex:1;min-width:0}
.rk-t b{display:block;font-size:15px}
.rk-t span{display:block;font-size:12px;color:var(--muted)}
.rk-t small{display:block;font-size:10.5px;color:var(--dim);letter-spacing:.04em;margin-top:2px}
.rk-n{font-size:12px;color:var(--muted);font-weight:700;font-variant-numeric:tabular-nums}
.rk-n svg{color:var(--g3);width:18px;height:18px}
.rk-n em{font-style:normal;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;padding:5px 8px;border-radius:8px;background:var(--g)}

/* состав */
.podium{display:grid;grid-template-columns:1fr 1.1fr 1fr;align-items:end;gap:8px;margin:18px 0 12px;perspective:600px}
.pd{text-align:center;animation:rise .6s var(--ease) both}
.pd.p1{animation-delay:.15s}.pd.p3{animation-delay:.3s}
.pd-ava{width:52px;height:52px;margin:0 auto 6px;border-radius:17px;display:grid;place-items:center;font-weight:800;font-style:italic;font-size:22px;background:linear-gradient(135deg,#5f8745,#253a1c);box-shadow:0 10px 26px -10px rgba(95,135,69,.9)}
.pd.p1 .pd-ava{width:62px;height:62px;font-size:26px;background:linear-gradient(135deg,#e9d38c,#8a6d26);color:#1a1405}
.pd b{display:block;font-size:13px}
.pd span{font-size:11px;color:var(--muted)}
.pd-col{margin-top:8px;border-radius:14px 14px 4px 4px;background:linear-gradient(180deg,#1d2a18,#0e130c);border:1px solid var(--line2);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotateX(8deg);transform-origin:bottom}
.pd.p1 .pd-col{height:118px;border-color:rgba(233,211,140,.4)}.pd.p2 .pd-col{height:92px}.pd.p3 .pd-col{height:74px}
.pd-col em{font-style:italic;font-weight:800;font-size:30px;color:#fff}
.pd-col small{font-size:11px;color:var(--g3);font-weight:700}
.pd.me .pd-ava{outline:2px solid var(--g3);outline-offset:2px}
.roster{padding:2px 16px}
.ro{display:flex;align-items:center;gap:14px;padding:12px 0}
.ro+.ro{border-top:1px solid var(--line)}
.ro em{width:26px;font-style:italic;font-weight:800;color:var(--dim)}
.ro div{flex:1}
.ro b{display:block;font-size:14px}
.ro span{font-size:12px;color:var(--muted)}
.ro strong{font-variant-numeric:tabular-nums;font-size:14px}
.ro.me{margin:0 -16px;padding:12px 16px;background:rgba(95,135,69,.12)}

/* учение: полноэкранная игра */
.dg{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;background:radial-gradient(90% 60% at 50% 0,#17230f,#050605 70%);padding:calc(14px + env(safe-area-inset-top,0px)) 18px calc(18px + env(safe-area-inset-bottom,0px));opacity:0;transform:scale(1.04);transition:opacity .35s,transform .45s var(--ease)}
.dg.open{opacity:1;transform:none}
.dg::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(143,184,115,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(143,184,115,.04) 1px,transparent 1px);background-size:36px 36px;mask:radial-gradient(80% 60% at 50% 30%,#000,transparent);-webkit-mask:radial-gradient(80% 60% at 50% 30%,#000,transparent)}
.dg-x{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--muted)}
.dg-brief{margin:auto 0;display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:520px;width:100%;align-self:center}
.dg-brief .dg-x{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:18px}
.dg-brief h2{font-size:36px}
.target{position:relative;width:120px;height:120px;margin:10px 0 14px;align-self:center}
.target i{position:absolute;border-radius:50%;border:1.5px solid rgba(143,184,115,.5)}
.target i:nth-child(1){inset:0;animation:spin 8s linear infinite;border-style:dashed}
.target i:nth-child(2){inset:22px}
.target i:nth-child(3){inset:44px;background:rgba(143,184,115,.15)}
.target b{position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px;border-radius:50%;background:var(--g3);box-shadow:0 0 16px var(--g3)}
.target::before,.target::after{content:"";position:absolute;background:rgba(143,184,115,.5)}
.target::before{left:50%;top:-10px;bottom:-10px;width:1px}
.target::after{top:50%;left:-10px;right:-10px;height:1px}
.dg-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;margin:12px 0 8px}
.dg-rules div{padding:14px 10px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--line);text-align:center}
.dg-rules b{display:block;font-size:24px;font-weight:800;font-style:italic}
.dg-rules span{font-size:11px;color:var(--muted)}
.dg-brief .btn{margin-top:8px;height:56px}
.dg-count{margin:auto;text-align:center}
.dg-count b{display:block;font-size:130px;font-weight:800;font-style:italic;line-height:1;color:#fff;text-shadow:0 0 40px rgba(143,184,115,.8)}
.dg-count b.pop{animation:pop2 .6s var(--spring)}
@keyframes pop2{0%{transform:scale(2.2);opacity:0}100%{transform:scale(1);opacity:1}}
.dg-count span{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--sub);font-weight:800}
.dg-count .spin{width:44px;height:44px;margin:0 auto 14px;border-radius:50%;border:3px solid rgba(143,184,115,.2);border-top-color:var(--g3);animation:spin .8s linear infinite}
.dg-top{position:relative;display:flex;align-items:center;gap:14px}
.dg-pips{flex:1;display:flex;gap:5px}
.dg-pips i{flex:1;height:5px;border-radius:3px;background:rgba(255,255,255,.08);transition:background .3s}
.dg-pips i.now{background:rgba(255,255,255,.4)}
.dg-pips i.ok{background:var(--g3);box-shadow:0 0 8px rgba(143,184,115,.7)}
.dg-pips i.bad{background:var(--danger)}
.dg-tmr{position:relative;width:44px;height:44px}
.dg-tmr svg{width:44px;height:44px;transform:rotate(-90deg)}
.dg-tmr circle{fill:none;stroke-width:3.5}
.dg-tmr .tr{stroke:rgba(255,255,255,.08)}
.dg-tmr .tp{stroke:var(--g3);stroke-linecap:round;transition:stroke-dashoffset 1s linear,stroke .3s}
.dg-tmr b{position:absolute;inset:0;display:grid;place-items:center;font-size:14px;font-weight:800;font-variant-numeric:tabular-nums}
.dg-tmr.hot .tp{stroke:var(--danger)}
.dg-tmr.hot b{color:var(--danger);animation:blink .5s infinite}
.dg-stage{position:relative;flex:1;display:flex;align-items:flex-start;justify-content:center;perspective:1000px;padding:16px 0;overflow-y:auto}
.qcard{width:100%;max-width:520px;padding:22px 18px;border-radius:24px;background:linear-gradient(180deg,#141a12,#0b0e0a);border:1px solid var(--line2);box-shadow:0 30px 60px -20px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.05);transform-origin:50% 0;animation:qIn .6s var(--spring) both}
@keyframes qIn{from{opacity:0;transform:rotateX(-70deg) translateY(30px)}}
.qcard.shake{animation:shake .45s}
@keyframes shake{20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}
.qn{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--sub)}
.qcard h3{font-size:19px;line-height:1.35;margin:10px 0 16px;font-weight:700}
.opts{display:grid;gap:9px}
.opt{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:15px;text-align:left;font-size:14px;background:rgba(255,255,255,.035);border:1px solid var(--line);transition:all .25s var(--ease);animation:rise .45s var(--ease) both}
.opt:nth-child(2){animation-delay:.06s}.opt:nth-child(3){animation-delay:.12s}.opt:nth-child(4){animation-delay:.18s}
.opt:active{transform:scale(.98)}
.opt i{flex:none;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font-style:normal;font-weight:800;font-size:12px;background:rgba(143,184,115,.1);color:var(--g3)}
.opt.picked{border-color:rgba(255,255,255,.4)}
.opt.right{border-color:var(--g3);background:linear-gradient(135deg,rgba(95,135,69,.35),rgba(95,135,69,.08));box-shadow:0 0 0 3px rgba(143,184,115,.15)}
.opt.right i{background:var(--g3);color:#0b0f0a}
.opt.wrong{border-color:var(--danger);background:rgba(224,122,108,.12)}
.opt.wrong i{background:var(--danger);color:#fff}
.opt[disabled]:not(.right):not(.wrong){opacity:.45}
.why{margin-top:14px;padding:12px 14px;border-radius:14px;font-size:13px;line-height:1.5;color:#d6dcd2;background:rgba(255,255,255,.03);border-left:3px solid var(--g2);animation:paneIn .4s var(--ease)}
.why b{color:#fff}
.dg-bottom .btn{height:56px}
.dg-bottom .btn:not([hidden]){animation:rise .4s var(--ease)}
.dg-res{margin:auto;width:100%;max-width:420px;text-align:center;display:flex;flex-direction:column;align-items:center}
.dg-res h2{font-size:40px;margin-top:4px}
.medal{width:140px;height:140px;margin-bottom:18px;perspective:600px}
.mc{position:relative;width:100%;height:100%;transform-style:preserve-3d;animation:coin 3s var(--ease) both, coinIdle 6s 3s linear infinite}
@keyframes coin{0%{transform:rotateY(-540deg) scale(.3);opacity:0}60%{opacity:1}100%{transform:rotateY(0) scale(1)}}
@keyframes coinIdle{to{transform:rotateY(360deg)}}
.mf{position:absolute;inset:0;border-radius:50%;display:grid;place-items:center;backface-visibility:hidden;background:radial-gradient(circle at 35% 30%,#3c5a2c,#162212 70%);border:3px solid #8fb873;box-shadow:0 20px 50px -10px rgba(95,135,69,.8),inset 0 0 30px rgba(0,0,0,.5)}
.mf .ins{width:64px;height:80px}
.mf svg:not(.ins){width:56px;height:56px;color:var(--danger)}
.mb{transform:rotateY(180deg)}
.medal.gold .mf{background:radial-gradient(circle at 35% 30%,#f1dc96,#8a6d26 75%);border-color:#f6e3a1;box-shadow:0 20px 60px -10px rgba(233,211,140,.7),inset 0 0 30px rgba(0,0,0,.35)}
.medal.none .mf{border-color:var(--danger);background:radial-gradient(circle at 35% 30%,#3a2320,#160d0c 70%)}
.score{display:flex;align-items:baseline;gap:8px;margin:6px 0 14px}
.score b{font-size:64px;font-weight:800;font-style:italic;line-height:1}
.score span{font-size:22px;color:var(--muted);font-weight:700}
.res-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
.res-row div{padding:14px;border-radius:16px;background:rgba(255,255,255,.03);border:1px solid var(--line)}
.res-row b{display:block;font-size:24px;font-weight:800;font-style:italic;color:var(--g3)}
.res-row span{font-size:11px;color:var(--muted)}
.small{font-size:12.5px;margin-top:12px}
.res-btns{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;width:100%;margin-top:18px}
.res-btns .btn{height:54px}

/* церемония присвоения звания */
.cer{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:24px;background:radial-gradient(60% 50% at 50% 40%,rgba(36,54,28,.95),rgba(3,4,3,.97));opacity:0;transition:opacity .45s}
.cer.open{opacity:1}
.cer-in{text-align:center;max-width:360px;width:100%}
.cer-stage{position:relative;width:200px;height:200px;margin:18px auto 10px;perspective:700px}
.rays{position:absolute;inset:-60px;border-radius:50%;background:repeating-conic-gradient(rgba(143,184,115,.18) 0 6deg,transparent 6deg 18deg);mask:radial-gradient(circle,#000 20%,transparent 70%);-webkit-mask:radial-gradient(circle,#000 20%,transparent 70%);animation:spin 20s linear infinite;z-index:-1}
.coin{position:relative;width:100%;height:100%;transform-style:preserve-3d;animation:coin 2.4s var(--ease) both,coinIdle 7s 2.4s linear infinite}
.cf{position:absolute;inset:0;border-radius:50%;display:grid;place-items:center;backface-visibility:hidden;background:radial-gradient(circle at 35% 30%,#4a6d36,#14200f 72%);border:4px solid #a9c896;box-shadow:0 30px 80px -10px rgba(143,184,115,.8),inset 0 0 40px rgba(0,0,0,.5)}
.cf .ins{width:96px;height:120px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.6))}
.cb{transform:rotateY(180deg)}
.coin .ce{position:absolute;inset:0;border-radius:50%;border:4px solid #6f8f5a;transform:translateZ(-4px)}
.cer h2{font-size:44px;margin:4px 0 12px;animation:rise .7s 1.2s var(--ease) both}
.cer p{animation:rise .7s 1s var(--ease) both}
.cer-perk{font-size:14px;color:var(--muted);padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--line2);animation:rise .7s 1.4s var(--ease) both}
.cer-perk b{color:#fff}
.cer .btn{margin-top:18px;height:54px;animation:rise .7s 1.6s var(--ease) both}

/* предпросмотр жетона */
.stage-badge{position:absolute;z-index:2;top:12px;left:12px;right:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 8px 8px 14px;border-radius:14px;background:rgba(5,6,5,.72);border:1px solid var(--line2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:12.5px;color:var(--muted);animation:paneIn .35s var(--ease)}
.stage-badge b{color:#fff}
.stage-badge button{height:32px;padding:0 12px;border-radius:10px;font-size:12px;font-weight:700;color:#fff;background:linear-gradient(135deg,#4f7339,#2f4826)}

/* мини-жетоны в списке званий: материал растёт со статусом */
.mtag{position:relative;flex:none;width:44px;height:58px;display:grid;place-items:center}
.mtag i{position:absolute;inset:0;border-radius:12px;box-shadow:0 6px 14px -6px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.35)}
.mtag i::after{content:"";position:absolute;left:50%;top:5px;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:#050605}
.mtag .ins{position:relative;width:24px;height:30px;margin-top:8px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.6))}
.mtag.t0 i{background:linear-gradient(135deg,#a3a99f,#6e746a)}
.mtag.t1 i{background:repeating-linear-gradient(0deg,rgba(255,255,255,.07) 0 1px,transparent 1px 3px),linear-gradient(135deg,#e2e7dd,#9aa195 55%,#d7ddd2)}
.mtag.t2 i{background:linear-gradient(180deg,transparent 22%,#3f5f2b 22% 38%,transparent 38%),linear-gradient(135deg,#6b7580,#3a424b)}
.mtag.t3 i{background:linear-gradient(135deg,#f4f7f1,#b9c0b4 55%,#eef2ea);box-shadow:inset 0 0 0 3px #34522a,0 6px 14px -6px rgba(0,0,0,.9)}
.mtag.t4 i{clip-path:polygon(22% 0,78% 0,100% 16%,100% 84%,78% 100%,22% 100%,0 84%,0 16%);border-radius:0;background:linear-gradient(135deg,#3a3e3f,#161819);box-shadow:inset 0 0 0 3px #b87c3c}
.mtag.t5 i{clip-path:polygon(22% 0,78% 0,100% 16%,100% 84%,78% 100%,22% 100%,0 84%,0 16%);border-radius:0;background:radial-gradient(circle at 50% 60%,#1d2818 0 46%,transparent 47%),linear-gradient(135deg,#e2a960,#8f5a22)}
.mtag.t6 i{clip-path:polygon(0 0,100% 0,100% 58%,50% 100%,0 58%);border-radius:0;background:radial-gradient(ellipse at 50% 46%,#22401a 0 40%,transparent 41%),linear-gradient(135deg,#fdfefe,#b9c2c8 50%,#eef2f4);box-shadow:inset 0 0 0 3px #e6b84e}
.mtag.t7 i{clip-path:polygon(0 0,100% 0,100% 58%,50% 100%,0 58%);border-radius:0;background:radial-gradient(ellipse at 50% 46%,#0b0d0b 0 40%,transparent 41%),linear-gradient(135deg,#fff0b0,#d09a2c 50%,#ffe08a);box-shadow:inset 0 0 0 3px #ffd877}
.mtag.t6,.mtag.t7{filter:drop-shadow(0 0 10px rgba(230,184,78,.45))}
.mtag.t7::after{content:"";position:absolute;inset:-6px;border-radius:50%;background:radial-gradient(circle,rgba(255,216,119,.35),transparent 70%);z-index:-1;animation:glow 3s ease-in-out infinite}
.rk:not(.got) .mtag{filter:grayscale(.35) brightness(.85)}

/* церемония: цвет медали по званию */
.cer.t4 .cf,.cer.t5 .cf{background:radial-gradient(circle at 35% 30%,#d79b55,#5a3714 72%);border-color:#f0c27e}
.cer.t6 .cf{background:radial-gradient(circle at 35% 30%,#ffffff,#9aa3a9 72%);border-color:#e6b84e}
.cer.t6 .cf .ins,.cer.t4 .cf .ins,.cer.t5 .cf .ins{filter:drop-shadow(0 3px 6px rgba(0,0,0,.6))}
.cer.t7 .cf{background:radial-gradient(circle at 35% 30%,#fff1b5,#a8751c 72%);border-color:#ffe39a;box-shadow:0 30px 90px -10px rgba(255,211,107,.9),inset 0 0 40px rgba(0,0,0,.35)}
.cer.t6 .rays,.cer.t7 .rays{background:repeating-conic-gradient(rgba(255,216,119,.25) 0 6deg,transparent 6deg 18deg)}
.dg-stage .qcard{margin:auto 0}

/* ---------------- кубок месяца */
.cup-teaser{display:flex;align-items:center;gap:12px;width:100%;margin:0 0 12px;padding:12px 14px;text-align:left;border-color:rgba(226,179,74,.28);background:linear-gradient(135deg,rgba(226,179,74,.10),rgba(226,179,74,.02) 60%),var(--card,#0f130e);animation:rise .55s .15s var(--ease) both}
.cup-teaser .ct-ic{flex:none;width:40px;height:40px;border-radius:13px;display:grid;place-items:center;font-size:22px;background:rgba(226,179,74,.12);border:1px solid rgba(226,179,74,.3)}
.cup-teaser div{flex:1;min-width:0}
.cup-teaser b{display:block;font-size:14.5px;font-style:italic;font-weight:800}
.cup-teaser span{font-size:12px;color:var(--muted)}
.cup-teaser>svg{flex:none;width:18px;height:18px;color:var(--muted)}
.cup{position:relative;overflow:hidden;padding:0 16px 16px;margin-bottom:18px;border-color:rgba(226,179,74,.3);background:radial-gradient(80% 60% at 50% 0,rgba(226,179,74,.16),transparent 70%),linear-gradient(180deg,#121510,#0a0c09)}
.cup-stage{position:relative;height:230px;margin:0 -16px}
.cup-stage canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y;cursor:grab}
.cup-fallback{position:absolute;inset:0;display:grid;place-items:center;font-size:84px;filter:drop-shadow(0 12px 30px rgba(226,179,74,.45))}
.cup-fallback[hidden]{display:none}
.cup-head{text-align:center;margin-top:-6px}
.cup-head .eyebrow{color:#e2b34a}
.cup-head h3{font-size:20px;margin:2px 0 6px}
.cup-head p{font-size:12.5px;color:var(--muted);line-height:1.45;margin:0}
.cup-prizes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0 12px}
.cup-prizes div{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;padding:9px 10px;border-radius:13px;background:rgba(0,0,0,.3);border:1px solid var(--line)}
.cup-prizes i{grid-row:span 2;font-style:normal;font-size:24px}
.cup-prizes b{font-size:12.5px}
.cup-prizes span{font-size:11px;color:var(--muted)}
.cup-list{display:grid;gap:6px}
.cr{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--line);animation:rise .5s var(--ease) both}
.cr:nth-child(2){animation-delay:.06s}.cr:nth-child(3){animation-delay:.12s}.cr:nth-child(4){animation-delay:.18s}.cr:nth-child(5){animation-delay:.24s}
.cr.pl1{border-color:rgba(226,179,74,.45);background:linear-gradient(90deg,rgba(226,179,74,.12),rgba(226,179,74,.02))}
.cr.me{box-shadow:inset 0 0 0 1px var(--g3)}
.cr em{flex:none;width:28px;text-align:center;font-style:normal;font-weight:800;font-size:18px;color:var(--muted)}
.cr-n{flex:1;min-width:0}
.cr-n b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cr-n span{display:block;font-size:11.5px;color:var(--g3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cr-p{flex:none;text-align:right}
.cr-p strong{display:block;font-style:italic;font-weight:800;font-size:16px;font-variant-numeric:tabular-nums}
.cr-p small{font-size:10.5px;color:var(--muted)}
.cup-me{margin:12px 0 0;text-align:center;font-size:12.5px;color:var(--muted)}
.cup-me b{color:#fff}
.cup-last{margin-top:14px;padding-top:12px;border-top:1px dashed rgba(255,255,255,.08);font-size:12.5px;line-height:1.7;color:var(--muted)}
.cup-last b{color:#fff}
.cup-note{margin:12px 0 0;font-size:11px;color:var(--dim,#5d665a);text-align:center}

.tg-star{display:inline-block;width:1.15em;height:1.15em;margin-left:.22em;vertical-align:-.2em;filter:drop-shadow(0 1px 2px rgba(240,140,18,.35))}
