/* PARI × Золотой мяч — mini app. Палитра: чёрный #0A0A0A, мята #00C7B1 (действия), золото #E3C06A (места/трофей). */
:root{
  --mint:#00C7B1; --mint-d:#00B29F; --gold:#E3C06A; --ink:#161616; --bg:#0A0A0A;
  --top:max(16px, env(safe-area-inset-top, 0px));   /* перезаписывается из Telegram safe area */
  --bot:env(safe-area-inset-bottom, 0px);
  --padb:max(20px, calc(var(--bot) + 10px));
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;background:var(--bg);overflow:hidden;overscroll-behavior:none}
body{font-family:'Montserrat',system-ui,-apple-system,sans-serif;color:#fff;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}
[hidden]{display:none!important}
a{color:var(--mint);text-decoration:none}
button,input{font-family:inherit}
*::-webkit-scrollbar{width:0;height:0}
input::placeholder{color:#B5BAC2}

@keyframes glowPulse{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.8}50%{transform:translate(-50%,-50%) scale(1.08);opacity:1}}
@keyframes sheetIn{from{transform:translateY(100%)}to{transform:none}}
@keyframes loadBar{from{width:0}to{width:100%}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes portalShake{0%{transform:translate(0,0)}20%{transform:translate(-4px,3px)}40%{transform:translate(4px,-3px)}60%{transform:translate(-3px,-4px)}80%{transform:translate(3px,4px)}100%{transform:translate(0,0)}}
@keyframes portalFlash{0%{opacity:0}65%{opacity:0}100%{opacity:1}}
@keyframes shackleClose{0%,18%{transform:translateY(-34px) rotate(-10deg);transform-origin:18% 100%}40%,100%{transform:translateY(0) rotate(0)}}
@keyframes keyTurn{0%,42%{transform:rotate(0)}70%,100%{transform:rotate(90deg)}}
@keyframes lockJolt{0%,40%{transform:none}44%{transform:translateY(5px) scale(1.02)}50%{transform:translateY(-3px)}56%{transform:none}70%{transform:rotate(0)}74%{transform:rotate(-3deg)}78%{transform:rotate(3deg)}82%,100%{transform:none}}
@keyframes lockText{0%,50%{opacity:0;transform:translateY(10px)}70%,100%{opacity:1;transform:none}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes shakeX{0%,100%{transform:none}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}

.root{position:fixed;top:0;bottom:0;left:0;right:0;margin:0 auto;max-width:560px;background:var(--bg);color:#fff;display:flex;flex-direction:column;overflow:hidden;overflow:clip;user-select:none;-webkit-user-select:none}
.grow{flex:1}
.safe-top{height:var(--top);flex:none}

/* 3D layer */
.stage3d{position:absolute;inset:0;transition:opacity .5s}
.stage3d.shake{animation:portalShake .09s linear infinite}
.glow{position:absolute;left:50%;top:44%;width:440px;height:440px;border-radius:50%;pointer-events:none;animation:glowPulse 3.2s ease-in-out infinite;
  background:radial-gradient(circle closest-side,rgba(255,214,120,.9) 0%,rgba(255,186,64,.6) 70%,rgba(255,150,30,.32) 80%,rgba(214,120,12,.1) 91%,rgba(0,0,0,0) 100%);
  transition:top 1s cubic-bezier(.4,0,.2,1),width 1s cubic-bezier(.4,0,.2,1),height 1s cubic-bezier(.4,0,.2,1),opacity .4s}
gold-ball{position:absolute;inset:0;display:block}
.flash{position:absolute;inset:0;z-index:20;background:radial-gradient(circle at 50% 50%,#FFF6DC 0%,#FFD775 45%,#C98A14 100%);animation:portalFlash 1.7s ease-in forwards;pointer-events:none}

/* intro */
.title{margin:14px 24px 0;text-align:center;font-weight:800;font-size:30px;line-height:1.12;letter-spacing:-.01em;text-transform:uppercase;flex:none;position:relative;z-index:5;transition:transform .75s cubic-bezier(.4,0,.2,1),opacity .5s ease}
.title span{color:var(--mint)}
.title.away{transform:translateY(-170px);opacity:0}
.start-wrap{flex:none;padding:12px 20px var(--padb);position:relative;z-index:5;transition:transform .75s cubic-bezier(.4,0,.2,1),opacity .5s ease}
.start-wrap.away{transform:translateY(170px);opacity:0;pointer-events:none}
.load-wrap{flex:none;padding:12px 44px calc(var(--padb) + 20px);position:relative;z-index:5;display:flex;flex-direction:column;align-items:center;gap:14px}
.load-bar{width:100%;height:4px;border-radius:2px;background:rgba(255,255,255,.12);overflow:hidden}
.load-bar div{height:100%;border-radius:2px;background:var(--mint);animation:loadBar 2.2s cubic-bezier(.3,.1,.3,1) forwards}
.load-cap{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5)}

/* buttons */
.btn{display:flex;align-items:center;justify-content:center;width:100%;border:0;cursor:pointer;color:var(--ink);transition:transform .1s,background .15s,opacity .2s,color .3s}
.btn:active{transform:scale(.98)}
.btn-mint{background:var(--mint)}
.btn-mint:active{background:var(--mint-d)}
.btn-xl{height:60px;border-radius:16px;font-weight:800;font-size:17px;letter-spacing:.06em;text-transform:uppercase}
.btn-l{height:56px;border-radius:14px;font-weight:700;font-size:16px}

/* sheets */
.sheet-wrap{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:var(--kb,0px);transition:padding-bottom .25s}
.sheet-dim{position:absolute;inset:0;background:rgba(0,0,0,.38);animation:fadeIn .35s ease-out}
.sheet{position:relative;background:#fff;color:var(--ink);border-radius:24px 24px 0 0;display:flex;flex-direction:column;animation:sheetIn .55s cubic-bezier(.2,.8,.2,1)}
.terms-sheet{max-height:62%;transition:max-height .35s}
.terms-sheet.id-step{max-height:92%}
.terms-view{display:flex;flex-direction:column;min-height:0;flex:1}
.sheet-head{padding:24px 20px 10px;flex:none}
.sheet-title{font-weight:700;font-size:22px;line-height:1.15;letter-spacing:-.01em}
.clauses{flex:1;min-height:0;overflow-y:auto;scrollbar-width:none;padding:2px 20px 10px;display:flex;flex-direction:column;gap:8px;user-select:text;-webkit-user-select:text}
.clause{display:flex;gap:12px;background:#F3F4F6;border-radius:12px;padding:12px 14px}
.clause-n{width:22px;flex:none;font-weight:700;font-size:13px;color:#0B9E8A;line-height:1.45}
.clause-t{font-size:13.5px;line-height:1.45;color:#2B2F36}
.sheet-foot{padding:12px 20px var(--padb);flex:none;border-top:1px solid #EEF0F2}
.id-view{padding:24px 20px var(--padb);display:flex;flex-direction:column;animation:fadeIn .3s ease-out;overflow-y:auto}
.id-hint{margin-top:8px;font-size:14px;line-height:1.45;color:#6B7280}
.id-hint a{color:#00A896;font-weight:600}
.pari-input{margin-top:16px;height:56px;border-radius:14px;border:1.5px solid transparent;background:#F3F4F6;color:var(--ink);font-weight:600;font-size:22px;letter-spacing:.12em;padding:0 16px;outline:none;width:100%;user-select:text;-webkit-user-select:text;transition:border-color .2s}
.pari-input.ok{border-color:var(--mint)}
.pari-input.err{border-color:#E43A3A;animation:shakeX .3s}
.id-submit{margin-top:12px;background:#E5E7EB;color:#9CA3AF}
.id-submit.ready{background:var(--ink);color:#fff}
.id-submit.busy{opacity:.6;pointer-events:none}
.id-reg-note{margin:22px 0 10px;font-size:13px;line-height:1.45;color:#6B7280;text-align:center}

/* predictions */
.predict{position:absolute;inset:0;z-index:4;background:var(--bg);animation:fadeIn .6s ease-out;display:flex;flex-direction:column}
.timer-block{flex:none;text-align:center;padding:8px 20px 16px}
.h-cap{font-weight:800;font-size:20px;line-height:1;letter-spacing:.02em;text-transform:uppercase}
.h-cap-2{line-height:1.2}
.h-note{margin-top:10px;font-size:13.5px;line-height:1.45;color:rgba(255,255,255,.6)}
.countdown{margin-top:12px;display:flex;justify-content:center;align-items:flex-start;gap:6px;font-variant-numeric:tabular-nums}
.cd-cell{text-align:center}
.cd-num{font-weight:800;font-size:46px;line-height:1}
.cd-num.mint{color:var(--mint)}
.cd-lbl{margin-top:6px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.cd-sep{font-weight:800;font-size:40px;line-height:46px;color:rgba(255,255,255,.3)}
.score{margin-top:12px;display:flex;justify-content:center;align-items:flex-end;gap:8px}
.score-n{font-weight:800;font-size:46px;line-height:1;color:var(--mint)}
.score-of{font-weight:800;font-size:20px;line-height:1.2;color:rgba(255,255,255,.5);padding-bottom:3px}
.score-lbl{margin-top:8px;font-size:12px}

.cards-scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-width:none;padding:2px 20px 16px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.card{height:196px;border-radius:18px;background:var(--ink);border:1px solid rgba(255,255,255,.08);position:relative;overflow:hidden;cursor:pointer;transition:border-color .3s,box-shadow .3s,transform .1s}
.card:active{transform:scale(.97)}
.card.ro{cursor:default}
.card.filled{border-color:rgba(227,192,106,.35)}
.card.locked{border-color:rgba(0,199,177,.55);box-shadow:0 0 0 1px rgba(0,199,177,.25),0 8px 24px rgba(0,199,177,.12)}
.card.hit{border-color:rgba(0,199,177,.8);box-shadow:0 0 0 1px rgba(0,199,177,.4),0 8px 24px rgba(0,199,177,.18)}
.card.miss{border-color:rgba(228,58,58,.6);box-shadow:none}
.c-hit{position:absolute;inset:0;z-index:2;background:rgba(0,199,177,.28);display:flex;align-items:center;justify-content:center}
.c-hit div{height:44px;padding:0 18px;border-radius:999px;background:var(--mint);color:var(--ink);font-weight:800;font-size:20px;display:flex;align-items:center;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.c-miss{position:absolute;inset:0;z-index:2;background:rgba(228,58,58,.3)}
.c-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.c-empty-n{font-weight:800;font-size:40px;line-height:1;color:var(--gold)}
.c-plus{width:40px;height:40px;border-radius:50%;border:1.5px dashed rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.55);font-size:22px;line-height:1}
.c-empty-t{font-size:12px;font-weight:600;color:rgba(255,255,255,.45)}
.c-photo{position:absolute;left:0;top:0;width:100%;height:150px;background-size:cover;background-position:50% 15%;background-color:#202020}
.c-fade{position:absolute;left:0;right:0;top:70px;height:80px;background:linear-gradient(rgba(22,22,22,0),#161616)}
.c-num{position:absolute;left:10px;top:10px;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:var(--gold);color:var(--ink);font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center}
.c-info{position:absolute;left:12px;right:12px;bottom:12px}
.c-name{font-weight:700;font-size:14px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.c-club{margin-top:3px;font-size:11.5px;color:rgba(255,255,255,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.bottom{flex:none;padding:10px 20px var(--padb);background:linear-gradient(rgba(10,10,10,0),#0A0A0A 30%)}
.lock-btn{border:1px solid transparent;background:var(--mint);color:var(--ink)}
.lock-btn.dim{opacity:.45}
.lock-btn.locked{background:transparent;color:var(--mint);border-color:rgba(0,199,177,.6)}
.lock-btn.busy{opacity:.6;pointer-events:none}
.live-chip{height:60px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:var(--ink);color:rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;gap:10px;font-weight:700;font-size:15px}
.sum-box{height:60px;border-radius:16px;background:var(--mint);color:var(--ink);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px;letter-spacing:.06em;text-transform:uppercase}
.sum-box.zero{background:var(--ink);color:rgba(255,255,255,.5)}
.sum-note{margin-top:10px;text-align:center;font-size:12.5px;line-height:1.4;color:rgba(255,255,255,.55)}

/* lock animation */
.lock-fx{position:absolute;inset:0;z-index:45;background:rgba(10,10,10,.86);display:flex;flex-direction:column;align-items:center;justify-content:center;animation:fadeIn .25s ease-out;pointer-events:none}
.lock{position:relative;width:200px;height:220px;animation:lockJolt 2.4s linear}
.lock-shackle{position:absolute;left:46px;top:0;width:108px;height:96px;animation:shackleClose 2.4s cubic-bezier(.6,0,.3,1)}
.ls-arc{position:absolute;inset:0;border:18px solid var(--mint);border-bottom:0;border-radius:54px 54px 0 0}
.ls-l,.ls-r{position:absolute;bottom:-26px;width:18px;height:26px;background:var(--mint)}
.ls-l{left:0}.ls-r{right:0}
.lock-body{position:absolute;left:20px;top:88px;width:160px;height:132px;border-radius:26px;background:var(--mint);box-shadow:0 0 0 14px rgba(0,199,177,.12),0 0 70px rgba(0,199,177,.4);display:flex;align-items:center;justify-content:center}
.lock-key{width:54px;height:54px;border-radius:50%;background:var(--ink);display:flex;align-items:center;justify-content:center;animation:keyTurn 2.4s cubic-bezier(.5,0,.3,1)}
.lock-text{font-weight:800;font-size:26px;letter-spacing:-.01em;text-transform:uppercase;margin-top:34px;animation:lockText 2.4s ease-out}

/* player picker */
.picker-wrap{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:var(--kb,0px)}
.picker-dim{background:rgba(0,0,0,.5);animation:fadeIn .3s ease-out}
.picker-sheet{height:80%;animation:sheetIn .45s cubic-bezier(.2,.8,.2,1)}
.picker-head{padding:22px 20px 12px;flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px}
.picker-sub{margin-top:4px;font-size:13.5px;color:#6B7280}
.pill-btn{flex:none;height:36px;padding:0 14px;border-radius:999px;background:#F3F4F6;color:var(--ink);font-size:13px;font-weight:600;display:flex;align-items:center;cursor:pointer}
.picker-search{padding:0 20px 10px;flex:none}
.picker-search input{height:48px;border-radius:14px;border:0;background:#F3F4F6;color:var(--ink);font-size:15px;padding:0 16px;outline:none;width:100%;user-select:text;-webkit-user-select:text}
.picker-list{flex:1;min-height:0;overflow-y:auto;scrollbar-width:none;padding:0 12px calc(var(--bot) + 40px);-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.p-row{display:flex;align-items:center;gap:12px;height:64px;padding:0 10px;border-radius:14px;cursor:pointer}
.p-row:active{background:#EEF0F2}
.p-row.cur{background:#FFF7E0}
.p-ava{width:46px;height:46px;border-radius:50%;background-color:#E5E7EB;background-size:cover;background-position:50% 15%;flex:none}
.p-txt{flex:1;min-width:0}
.p-name{font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.p-sub{margin-top:2px;font-size:12.5px;color:#6B7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.p-place{min-width:30px;height:28px;padding:0 9px;border-radius:999px;background:var(--gold);color:var(--ink);font-weight:800;font-size:12.5px;display:flex;align-items:center;justify-content:center}
.p-free{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--mint);color:#00A896;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1}
.p-empty{padding:30px 10px;text-align:center;color:#6B7280;font-size:14px}

.toast{position:absolute;left:16px;right:16px;bottom:calc(var(--padb) + 72px);z-index:60;background:rgba(44,44,44,.97);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:12px 14px;font-size:13.5px;line-height:1.35;text-align:center;animation:fadeIn .2s ease-out;box-shadow:0 10px 30px rgba(0,0,0,.5);pointer-events:none}

.stub{position:absolute;inset:0;z-index:100;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:24px}
.stub-in{max-width:360px;text-align:center}
.stub-title{margin:0 0 18px}
.stub p{color:rgba(255,255,255,.65);font-size:15px;line-height:1.5;margin:0 0 28px}

/* share */
.b-row{display:flex;gap:10px}
.b-row>.btn,.b-row>.live-chip{flex:1;min-width:0}
.share-btn{width:60px;height:60px;flex:none;border-radius:16px;border:0;background:var(--mint);display:flex;align-items:center;justify-content:center;cursor:pointer;animation:fadeIn .3s ease-out;transition:transform .1s,background .15s}
.share-btn:active{transform:scale(.95);background:var(--mint-d)}
.share-sheet{padding:22px 20px var(--padb);animation:sheetIn .45s cubic-bezier(.2,.8,.2,1)}
.share-box{margin-top:14px;height:min(380px,52vh);border-radius:16px;background:#F3F4F6;display:flex;align-items:center;justify-content:center;overflow:hidden}
.share-img{display:block;height:calc(100% - 32px);width:auto;aspect-ratio:1080/1440;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.18);-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto;pointer-events:auto}
.share-note{margin-top:10px;text-align:center;font-size:12.5px;line-height:1.4;color:#6B7280}
.share-busy{display:flex;align-items:center;gap:10px;font-size:13px;color:#6B7280;font-weight:600}
.spinner{width:18px;height:18px;border-radius:50%;border:2.5px solid rgba(0,199,177,.25);border-top-color:var(--mint);animation:spin .8s linear infinite}
.share-save{margin-top:14px}
.share-save.dim{opacity:.45;pointer-events:none}

.toast.top{top:calc(var(--top) + 8px);bottom:auto}
