/* ARC Telegram risk gate: dark card, one blue accent. Shown before any Telegram link, all 3 boxes required. */
.tgg-root { position:fixed; inset:0; z-index:100000; display:none; align-items:center; justify-content:center; padding:20px; }
.tgg-root.is-open { display:flex; }
.tgg-backdrop { position:absolute; inset:0; background:rgba(3,5,10,0.78); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.tgg-card { position:relative; width:100%; max-width:560px; max-height:calc(100vh - 40px); overflow:auto; background:#0e1420; color:#b8bcc6; border-radius:22px; border:1px solid rgba(255,255,255,0.08); box-shadow:0 30px 80px rgba(0,0,0,0.6); padding:28px 28px 24px; font-family:'Inter',system-ui,-apple-system,sans-serif; font-weight:400; line-height:1.55; font-size:15px; animation:tgg-in .25s ease; }
@keyframes tgg-in { from { opacity:0; transform:translateY(12px) scale(.98); } to { opacity:1; transform:none; } }
.tgg-head { display:flex; align-items:flex-start; gap:14px; margin-bottom:18px; }
.tgg-icon { flex:0 0 44px; width:44px; height:44px; border-radius:12px; background:rgba(110,168,255,0.14); color:#6ea8ff; display:flex; align-items:center; justify-content:center; }
.tgg-icon svg { width:22px; height:22px; }
.tgg-title { margin:0; font-family:inherit; font-size:1.4rem; font-weight:700; color:#f2f3f5; line-height:1.2; letter-spacing:-0.01em; }
.tgg-sub { margin:4px 0 0; font-size:.92rem; color:#8a8f9a; }
.tgg-close { margin-left:auto; flex:0 0 36px; width:36px; height:36px; border-radius:50%; border:none; background:rgba(255,255,255,0.06); color:#8a8f9a; font-size:20px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.tgg-close:hover { background:rgba(255,255,255,0.12); color:#f2f3f5; }
.tgg-text { background:#070a12; border:1px solid rgba(255,255,255,0.07); border-radius:14px; padding:14px 16px; max-height:200px; overflow:auto; font-size:.93rem; color:#c9ccd3; }
.tgg-text p { margin:0 0 12px; }
.tgg-text p:last-child { margin-bottom:0; }
.tgg-text strong { color:#ffffff; font-weight:600; }
.tgg-hint { margin:8px 0 0; font-size:.78rem; color:#6b7079; text-align:right; }
.tgg-checks { display:flex; flex-direction:column; gap:10px; margin:16px 0 18px; }
.tgg-check { display:flex; align-items:flex-start; gap:12px; padding:13px 16px; border:1px solid rgba(255,255,255,0.1); border-radius:14px; background:#0a0f1a; cursor:pointer; transition:border-color .2s, background .2s; }
.tgg-check:hover { border-color:rgba(110,168,255,0.6); }
.tgg-check input { position:absolute; opacity:0; width:0; height:0; }
.tgg-box { flex:0 0 22px; width:22px; height:22px; margin-top:2px; border-radius:50%; border:2px solid #4a5160; background:transparent; display:flex; align-items:center; justify-content:center; transition:all .2s; }
.tgg-box svg { width:12px; height:12px; opacity:0; transform:scale(.6); transition:all .15s; }
.tgg-check input:focus-visible + .tgg-box { box-shadow:0 0 0 3px rgba(110,168,255,0.35); }
.tgg-check.is-on { border-color:#6ea8ff; background:rgba(110,168,255,0.08); }
.tgg-check.is-on .tgg-box { border-color:#6ea8ff; background:#6ea8ff; }
.tgg-check.is-on .tgg-box svg { opacity:1; transform:scale(1); }
.tgg-box svg path { stroke:#06101f; }
.tgg-check span.tgg-label { font-size:.95rem; color:#c9ccd3; }
.tgg-check span.tgg-label strong { color:#ffffff; font-weight:600; }
.tgg-btn { width:100%; display:flex; align-items:center; justify-content:center; gap:10px; padding:15px 20px; border-radius:100px; border:none; font-family:inherit; font-size:1rem; font-weight:600; cursor:pointer; transition:all .25s; }
.tgg-btn[disabled] { background:#161c29; color:#5c6270; cursor:not-allowed; }
.tgg-btn:not([disabled]) { background:#6ea8ff; color:#06101f; box-shadow:0 12px 30px rgba(110,168,255,0.3); }
.tgg-btn:not([disabled]):hover { transform:translateY(-2px); background:#86b6ff; }
.tgg-btn svg { width:18px; height:18px; }
.tgg-foot { margin:14px 0 0; font-size:.78rem; color:#6b7079; text-align:center; }
.tgg-foot a { color:#9aa0ab; text-decoration:underline; }
body.tgg-lock { overflow:hidden; }
@media (max-width:480px) {
  .tgg-root { padding:0; align-items:flex-end; }
  .tgg-card { border-radius:22px 22px 0 0; max-height:92vh; padding:22px 18px 18px; }
  .tgg-title { font-size:1.25rem; }
  .tgg-text { max-height:160px; }
}
