:root{
  --bg:#07070A; --surf:#131318; --surf2:#1B1B22; --border:rgba(255,255,255,.14);
  --tx:#FFFFFF; --tx2:#ADADB8;
  --green:#3DFFA0; --red:#FF5C6C;
  --purple:#C09EFF; --gold:#FFD35C; --blue:#6EC0FF;
  --font: 'Outfit', system-ui, sans-serif; --mono: 'JetBrains Mono', monospace;
  padding-top: env(safe-area-inset-top,0px); padding-bottom: env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box; margin:0; padding:0;}
html,body{background:var(--bg); color:var(--tx); font-family:var(--font); height:100%; overflow-x:hidden;}
body{background-image: radial-gradient(circle at 20% 0%, rgba(176,132,255,.06), transparent 40%), radial-gradient(circle at 80% 10%, rgba(90,180,255,.05), transparent 40%); min-height:100%;}
::selection{background:var(--purple); color:#000;}
a,button{font-family:inherit; color:inherit;}
button{background:none; border:none; cursor:pointer;}
.wrap{max-width:1180px; margin:0 auto; padding:0 20px;}
[hidden]{display:none !important;}

/* HEADER */
header{position:sticky; top:0; z-index:20; backdrop-filter:blur(14px); background:rgba(7,7,10,.75); border-bottom:1px solid var(--border); padding-top:env(safe-area-inset-top,0px);}
.headerrow{display:flex; align-items:center; justify-content:space-between; padding:16px 20px; max-width:1180px; margin:0 auto; gap:16px;}
.logo{font-weight:900; font-size:18px; letter-spacing:.02em; display:flex; align-items:center; gap:8px; white-space:nowrap;}
.logo span{color:var(--purple);}
nav{display:flex; gap:4px; overflow-x:auto; scrollbar-width:none;}
nav::-webkit-scrollbar{display:none;}
nav button{padding:8px 14px; border-radius:8px; font-size:13px; font-weight:600; color:var(--tx2); white-space:nowrap; transition:.15s;}
nav button.active{color:var(--tx); background:var(--surf2);}
.hamburger{display:none; flex-direction:column; gap:4px; width:22px; height:22px; justify-content:center; flex-shrink:0; padding:0;}
.hamburger span{display:block; height:2px; width:100%; background:var(--tx); border-radius:2px; pointer-events:none;}
.navmenu{display:flex; flex-direction:column; gap:4px; padding:8px 0;}
.navmenu button{width:100%; text-align:left; padding:14px 16px; font-size:15px; border-radius:10px; font-weight:600; color:var(--tx2);}
.navmenu button.active{color:var(--tx); background:var(--surf2);}
@media(max-width:760px){
  .headerrow{padding:14px 16px; gap:10px;}
  .logo{font-size:15px;}
  .hamburger{display:flex;}
  nav{display:none;}
  .profile-chip{padding:4px 8px 4px 4px; font-size:11px;}
}
.headerright{display:flex; align-items:center; gap:12px;}
.profile-chip{display:flex; align-items:center; gap:8px; padding:5px 10px 5px 5px; background:var(--surf2); border:1px solid var(--border); border-radius:20px; font-size:12px; cursor:pointer;}
.profile-chip .av{width:24px; height:24px; border-radius:50%; background:linear-gradient(135deg,var(--purple),var(--gold)); flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:800; color:#000;}
.profile-chip b{color:var(--gold); font-family:var(--mono);}

/* LANDING */
.landing{min-height:calc(100vh - 65px); display:flex; align-items:center; padding:40px 20px;}
.landing-inner{max-width:1180px; margin:0 auto; display:grid; grid-template-columns:1.1fr .9fr; gap:60px; align-items:center; width:100%;}
@media(max-width:860px){.landing-inner{grid-template-columns:1fr;}}
.landing h1{font-size:clamp(34px,6vw,58px); font-weight:900; line-height:1.02; letter-spacing:-.02em;}
.landing p{color:var(--tx2); font-size:15px; margin-top:16px; max-width:420px;}
.authbox{background:var(--surf); border:1px solid var(--border); border-radius:16px; padding:22px;}
.authbox h3{font-size:14px; font-weight:700; margin-bottom:14px;}
.authbox input{width:100%; background:var(--surf2); border:1px solid var(--border); border-radius:9px; padding:12px 14px; color:var(--tx); font-size:14px; margin-bottom:10px;}
.authbox button{width:100%; background:linear-gradient(90deg,var(--purple),var(--gold)); color:#000; font-weight:800; padding:12px; border-radius:9px; font-size:13px;}
.authnote{font-size:11px; color:var(--tx2); margin-top:10px; text-align:center;}
.demo-cardstack{position:relative; height:280px;}
.demo-cardstack .card{position:absolute; width:200px; left:50%; transform-origin:bottom center;}
.demo-cardstack .card:nth-child(1){transform:translateX(-50%) rotate(-8deg); top:0; z-index:1;}
.demo-cardstack .card:nth-child(2){transform:translateX(-50%) rotate(4deg); top:10px; z-index:2;}
.demo-cardstack .card:nth-child(3){transform:translateX(-50%) rotate(-2deg); top:20px; z-index:3;}

/* HERO */
.hero{padding:48px 0 32px;}
.hero h1{font-size:clamp(32px,6vw,52px); font-weight:900; line-height:1.02; letter-spacing:-.02em;}
.hero h1 .g{background:linear-gradient(90deg,var(--tx),var(--tx2)); -webkit-background-clip:text; background-clip:text;}
.hero p{color:var(--tx2); font-size:15px; margin-top:12px; max-width:420px;}
.stats{display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:14px; overflow:hidden; margin-top:32px;}
.stat{background:var(--surf); padding:16px 14px;}
.stat .l{font-size:10px; color:var(--tx2); font-weight:600; letter-spacing:.04em; text-transform:uppercase; margin-bottom:6px;}
.stat .v{font-family:var(--mono); font-weight:700; font-size:19px;}
.stat .v.pos{color:var(--green);} .stat .v.neg{color:var(--red);}
@media(max-width:720px){.stats{grid-template-columns:repeat(2,1fr);} .stat:nth-child(5){grid-column:1/3;}}

/* LEVEL BAR */
.levelbar{display:flex; align-items:center; gap:14px; margin-top:20px; padding:14px 16px; background:var(--surf); border:1px solid var(--border); border-radius:12px;}
.levelbar .lvl{font-family:var(--mono); font-weight:700; font-size:13px; color:var(--gold); white-space:nowrap;}
.levelbar .track{flex:1; height:6px; background:var(--surf2); border-radius:3px; overflow:hidden;}
.levelbar .fill{height:100%; background:linear-gradient(90deg,var(--purple),var(--gold)); border-radius:3px; transition:width .5s ease;}
.levelbar .xp{font-family:var(--mono); font-size:11px; color:var(--tx2); white-space:nowrap;}

/* SECTION HEAD */
.sectionhead{display:flex; align-items:center; justify-content:space-between; margin:40px 0 16px; flex-wrap:wrap; gap:12px;}
.sectionhead h2{font-size:15px; font-weight:700;}
.filters{display:flex; gap:6px; flex-wrap:wrap;}
.chip{padding:6px 12px; border-radius:7px; font-size:12px; font-weight:600; background:var(--surf2); color:var(--tx2); border:1px solid transparent;}
.chip.active{color:var(--tx); border-color:var(--border); background:#17171E;}
select.sortsel{background:var(--surf2); color:var(--tx2); border:1px solid var(--border); border-radius:7px; padding:6px 10px; font-size:12px; font-family:inherit;}

/* GRID */
.grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
@media(max-width:960px){.grid{grid-template-columns:repeat(3,1fr);}}
.stats-3{grid-template-columns:repeat(3,1fr);}
@media(max-width:560px){.stats-3{grid-template-columns:1fr;}}
@media(max-width:640px){.grid{grid-template-columns:repeat(2,1fr); gap:10px;}}

/* CARD */
.card{position:relative; border-radius:16px; padding:14px; background:linear-gradient(160deg,var(--surf2),var(--surf) 60%); border:1px solid var(--border); cursor:pointer; overflow:hidden; transition:transform .18s ease, box-shadow .18s ease; isolation:isolate;}
.card::before{content:""; position:absolute; inset:0; background:radial-gradient(circle at 30% 0%, var(--glow,transparent), transparent 65%); opacity:.6; pointer-events:none; z-index:-1;}

.card[data-r="legendary"]::before{animation:pulse 3s infinite ease-in-out;}
.card[data-r="mythic"]::before{animation:pulse 2.4s infinite ease-in-out;}
@keyframes pulse{0%,100%{opacity:.5;} 50%{opacity:1;}}
#grid .card{content-visibility:auto; contain-intrinsic-size:auto 300px;}
.grid-more{grid-column:1/-1; height:1px;}
@media(hover:hover){.card:hover{transform:translateY(-4px) rotate3d(1,-1,0,2deg); box-shadow:0 14px 30px -12px rgba(0,0,0,.6);}}
.card .top{display:flex; justify-content:space-between; align-items:center; font-family:var(--mono); font-size:10px; color:var(--tx2); gap:8px;}
.card .grade{width:22px; height:22px; border-radius:6px; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:12px; background:var(--surf2); border:1px solid var(--border);}
.card .ticker{text-align:center; font-weight:800; font-size:14px; margin-top:10px; color:var(--tx); letter-spacing:.02em;}
.card .pnl{text-align:center; font-size:22px; font-weight:900; margin-top:2px; font-family:var(--mono);}
.card .roi{text-align:center; font-size:12px; font-weight:700; font-family:var(--mono); margin-top:1px;}
.card .pnl.pos,.card .roi.pos{color:var(--green);} .card .pnl.neg,.card .roi.neg{color:var(--red);}
.card .mini{margin:10px 0 6px;}
.card .rarity-tag{font-size:8px; font-weight:800; letter-spacing:.05em; padding:3px 6px; border-radius:4px; text-transform:uppercase; white-space:nowrap;}
.card[data-r="legendary"] .rarity-tag{background:rgba(245,197,66,.15); color:var(--gold);}
.card[data-r="mythic"] .rarity-tag{background:rgba(255,90,220,.15); color:#ff5adc;}
.card[data-r="epic"] .rarity-tag{background:rgba(176,132,255,.15); color:var(--purple);}
.card[data-r="rare"] .rarity-tag{background:rgba(90,180,255,.15); color:var(--blue);}
.card[data-r="uncommon"] .rarity-tag,.card[data-r="common"] .rarity-tag{background:rgba(255,255,255,.06); color:var(--tx2);}
.card .src{font-size:8px; font-weight:700; color:var(--tx2); font-family:var(--mono); text-transform:uppercase; opacity:.7; white-space:nowrap;}
.card .top-left, .card .top-right{display:flex; align-items:center; gap:6px; min-width:0;}
.card .top-left span:first-child{flex-shrink:0;}
.card .bottom{display:flex; justify-content:space-between; font-family:var(--mono); font-size:9px; color:var(--tx2); margin-top:8px; border-top:1px solid var(--border); padding-top:8px;}
.card .badge{font-size:10px; margin-top:6px; color:var(--tx2); display:flex; gap:4px; flex-wrap:wrap;}

/* EMPTY */
.empty{grid-column:1/-1; text-align:center; padding:60px 20px; color:var(--tx2); border:1px dashed var(--border); border-radius:16px;}
.empty b{display:block; color:var(--tx); font-size:16px; margin-bottom:6px;}
.empty button{margin-top:16px; background:var(--tx); color:#000; font-weight:700; padding:10px 18px; border-radius:8px; font-size:13px;}

/* MODAL */
.overlay{position:fixed; inset:0; background:rgba(4,4,6,.9); z-index:50; display:flex; align-items:center; justify-content:center; padding:16px; opacity:0; pointer-events:none; transition:opacity .18s;}
.goal-overlay{align-items:flex-end; z-index:210; padding:0;}
.goal-modal{width:100%; max-width:480px; margin:0 auto; text-align:center; padding-bottom:calc(22px + env(safe-area-inset-bottom,0px)); background:linear-gradient(165deg, rgba(245,211,92,.14), var(--surf) 55%); border:1px solid rgba(245,211,92,.4); border-bottom:none; border-radius:24px 24px 0 0; box-shadow:0 -20px 50px -15px rgba(245,211,92,.15), 0 -4px 30px -6px rgba(0,0,0,.7); transform:translateY(100%); opacity:0; transition:transform .5s cubic-bezier(.22,1.1,.36,1), opacity .35s ease;}
.goal-overlay.show .goal-modal{transform:translateY(0); opacity:1;}
.goal-trophy-ring{width:88px; height:88px; border-radius:50%; margin:4px auto 14px; display:flex; align-items:center; justify-content:center; background:radial-gradient(circle, rgba(245,211,92,.25), rgba(245,211,92,.02) 70%); animation:goalPulse 2.2s infinite ease-in-out;}
.goal-unlock-label{font-size:11px; font-weight:800; letter-spacing:.08em; color:var(--gold); text-transform:uppercase; margin-bottom:10px;}
.btn-neutral{background:transparent; border:1px solid var(--border); color:var(--tx2); font-weight:700; border-radius:999px;}
@keyframes goalPulse{0%,100%{box-shadow:0 0 0px 0 rgba(245,211,92,.3);} 50%{box-shadow:0 0 26px 6px rgba(245,211,92,.3);}}
.overlay.show{opacity:1; pointer-events:all;}
.modal{position:relative; background:var(--surf); border:1px solid var(--border); border-radius:18px; width:100%; max-width:460px; max-height:90vh; overflow-y:auto; padding:22px; transform:scale(.96); transition:transform .18s;}
.overlay.show .modal{transform:scale(1);}
.modal h3{font-size:16px; font-weight:800; margin-bottom:16px;}
.field{margin-bottom:12px;}
.field label{font-size:11px; color:var(--tx2); font-weight:600; display:block; margin-bottom:5px; text-transform:uppercase; letter-spacing:.03em;}
.field input{width:100%; background:var(--surf2); border:1px solid var(--border); border-radius:8px; padding:10px 12px; color:var(--tx); font-family:var(--mono); font-size:13px;}
.field input:focus{outline:none; border-color:var(--purple);}
.field-row{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.preview-label{font-size:11px; color:var(--tx2); font-weight:600; margin:18px 0 8px; text-transform:uppercase;}
.modalbtns{display:flex; gap:10px; margin-top:18px;}
.modalbtns button{flex:1; padding:12px; border-radius:9px; font-weight:700; font-size:13px;}
.btn-cancel{background:var(--surf2); color:var(--tx2);}
.btn-create{background:var(--tx); color:#000;}
.closebtn{position:absolute; top:16px; right:16px; font-size:20px; color:var(--tx2); width:32px; height:32px;}
.detail-stats{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:16px 0;}
.detail-stats div{background:var(--surf2); border-radius:9px; padding:10px 12px;}
.detail-stats .l{font-size:10px; color:var(--tx2); text-transform:uppercase; margin-bottom:3px;}
.detail-stats .v{font-family:var(--mono); font-weight:700; font-size:14px;}
.stats-3 .stat, .stats-3 > div{background:linear-gradient(160deg,var(--surf2),var(--surf) 70%); border:1px solid var(--border); border-radius:14px; transition:transform .15s ease, border-color .15s ease;}
.stats-3 > div:hover{transform:translateY(-2px); border-color:rgba(176,132,255,.35);}

.goal-card{background:linear-gradient(160deg,rgba(176,132,255,.08),var(--surf) 60%); border:1px solid rgba(176,132,255,.25); border-radius:18px; padding:20px; margin:16px 0 24px; position:relative; overflow:hidden;}
.goal-card::before{content:""; position:absolute; top:-40%; right:-10%; width:220px; height:220px; background:radial-gradient(circle, rgba(245,197,66,.15), transparent 70%); pointer-events:none;}
.goal-top{display:flex; align-items:center; justify-content:space-between; gap:16px;}
.goal-label{font-size:10px; font-weight:700; letter-spacing:.06em; color:var(--purple); text-transform:uppercase;}
.goal-amounts{font-family:var(--mono); font-weight:900; font-size:26px; margin-top:4px;}
.goal-sep{color:var(--tx2); font-weight:400; margin:0 4px;}
#goalTarget{color:var(--tx2); font-size:18px; font-weight:700;}
.goal-ring-wrap{position:relative; width:72px; height:72px; flex-shrink:0;}
#goalRing{transition:stroke-dashoffset .6s ease;}
.goal-pct{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:var(--mono); font-weight:800; font-size:13px;}
.goal-editrow{display:flex; gap:8px; margin-top:18px;}
.goal-editrow input{flex:1; background:var(--surf2); border:1px solid var(--border); border-radius:9px; padding:10px 12px; color:var(--tx); font-family:var(--mono); font-size:13px;}
.goal-editrow input:focus{outline:none; border-color:var(--purple);}
.goal-editrow button{background:linear-gradient(90deg,var(--purple),var(--gold)); color:#000; font-weight:800; font-size:12px; padding:0 16px; border-radius:9px; white-space:nowrap;}
.achlist{display:flex; flex-direction:column; gap:6px; margin:10px 0;}
.achitem{display:flex; gap:8px; align-items:center; background:var(--surf2); border-radius:9px; padding:9px 12px; font-size:12px;}
.achitem b{font-size:12px;} .achitem span{color:var(--tx2); font-size:11px;}
.share-btn{width:100%; margin-top:16px; padding:13px; border-radius:10px; background:linear-gradient(90deg,var(--purple),var(--gold)); color:#000; font-weight:800; font-size:13px;}

/* ACCOUNT VIEW */
.acc-block{background:var(--surf); border:1px solid var(--border); border-radius:14px; padding:18px; margin-bottom:14px;}
.acc-block h4{font-size:13px; font-weight:700; margin-bottom:12px;}
.provider-row{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 0; border-top:1px solid var(--border);}
.provider-row:first-of-type{border-top:none;}
.provider-row > div:first-child{min-width:0; flex:1;}
.provider-name{font-weight:700; font-size:13px;}
.provider-sub{font-size:11px; color:var(--tx2); font-family:var(--mono); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.btn-connect{background:var(--surf2); border:1px solid var(--border); padding:8px 14px; border-radius:8px; font-size:12px; font-weight:700; flex-shrink:0;}
.btn-connect.connected{color:var(--green); border-color:rgba(57,255,154,.3);}
.btn-logout{color:var(--red); font-size:12px; font-weight:700; padding:10px 14px; background:var(--surf2); border-radius:8px; border:1px solid var(--border);}

/* TOAST */
.toast{position:fixed; bottom:24px; left:50%; transform:translateX(-50%) translateY(100px); background:var(--surf2); border:1px solid var(--border); padding:12px 20px; border-radius:10px; font-size:13px; font-weight:600; z-index:100; transition:transform .25s ease; padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));}
.toast.show{transform:translateX(-50%) translateY(0);}

footer{text-align:center; padding:50px 0 calc(100px + env(safe-area-inset-bottom,0px)); color:var(--tx2); font-size:11px;}
.fab-new{position:fixed; left:50%; bottom:calc(22px + env(safe-area-inset-bottom,0px)); transform:translateX(-50%); z-index:15; background:var(--tx); color:#000; font-weight:800; font-size:13px; padding:14px 26px; border-radius:999px; white-space:nowrap; box-shadow:0 10px 30px -8px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.06); display:flex; align-items:center; gap:6px;}
.fab-new:active{transform:translateX(-50%) scale(.95);}
.authsep{display:flex;align-items:center;gap:10px;}
.authsep::before,.authsep::after{content:"";flex:1;height:1px;background:var(--border);}
.authsep span{font-size:10px;color:var(--tx2);}
.authrow{display:flex;gap:8px;}
.authbox .btn-ghost{background:var(--surf2);color:var(--tx);border:1px solid var(--border);}
.authrow .btn-ghost{font-size:12px;}
.authbox .btn-link{background:none;color:var(--tx2);font-weight:600;font-size:11px;padding:8px 0 0;text-decoration:underline;}
.captcha-box{display:flex;justify-content:center;margin-top:14px;min-height:78px;}
#btnPubkey{margin-top:0;}
.authnote.is-error{color:#ff4d5e; font-weight:600;}
.authnote.is-ok{color:#3ddc97; font-weight:600;}
.acc-form{display:flex;flex-direction:column;gap:10px;margin-top:10px;}
.acc-form input{width:100%;background:var(--surf2);border:1px solid var(--border);border-radius:9px;padding:12px 14px;color:var(--tx);font-size:14px;}
.acc-form button{background:linear-gradient(90deg,var(--purple),var(--gold));color:#000;font-weight:800;padding:12px;border-radius:9px;font-size:13px;}
.btn-unlink{background:none;border:1px solid var(--border);border-radius:8px;padding:7px 8px;color:var(--tx2);flex-shrink:0;}
.sync-err{color:#ff4d5e;}
.hist-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.hist-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.hbtn{background:var(--surf2);border:1px solid var(--border);color:var(--tx);padding:8px 12px;border-radius:8px;font-size:11px;font-weight:700;}
.hbtn.danger{color:#ff4d5e;border-color:rgba(255,77,94,.35);}
.hbtn.good{color:var(--green);border-color:rgba(57,255,154,.3);}
.hbtn:disabled{opacity:.4;cursor:not-allowed;}
.hist-selcount{font-size:11px;color:var(--tx2);font-family:var(--mono);}
.sel-cell{width:0;padding:0;}
#historyView.selecting .sel-cell{width:36px;padding:9px 0 9px 12px;}
#historyView.selecting tbody tr{cursor:pointer;}
tr.is-sel{background:rgba(220,31,255,.08);}
.sel-cell input,.bin-row input,.bin-all input{width:16px;height:16px;accent-color:var(--purple);cursor:pointer;}
.bin-bar{display:flex;align-items:center;justify-content:space-between;margin:10px 0 6px;}
.bin-all{display:flex;align-items:center;gap:8px;font-size:12px;cursor:pointer;}
.bin-list{max-height:280px;overflow-y:auto;border:1px solid var(--border);border-radius:10px;}
.bin-row{display:grid;grid-template-columns:20px 1fr auto auto;gap:10px;align-items:center;padding:9px 12px;border-top:1px solid var(--border);font-family:var(--mono);font-size:12px;cursor:pointer;}
.bin-row:first-child{border-top:none;}
.bin-row.is-sel{background:rgba(220,31,255,.08);}
.bin-tk{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bin-date{color:var(--tx2);}
.bin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
button.levelbar{width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer;}
.lvl-id{display:flex;flex-direction:column;gap:2px;min-width:92px;}
.lvl-title{font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--purple);white-space:nowrap;}
.lvl-detail{margin-top:8px;padding:14px 16px;background:var(--surf);border:1px solid var(--border);border-radius:12px;font-family:var(--mono);font-size:12px;}
.lvl-rows > div{display:flex;justify-content:space-between;padding:5px 0;color:var(--tx2);}
.lvl-rows b{color:var(--tx);}
.lvl-rows .lvl-total{border-top:1px solid var(--border);margin-top:4px;padding-top:9px;}
.lvl-rows .lvl-total b{color:var(--gold);}
.lvl-hint{margin-top:10px;font-size:11px;color:var(--tx2);line-height:1.5;}
.lvl-hint b{color:var(--gold);}
.chartbox{position:relative;width:100%;}
.chartbox svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.mk{position:absolute;transform:translate(-50%,-50%);width:15px;height:15px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:800 8px/1 var(--mono);color:#fff;box-shadow:0 0 0 2px var(--surf),0 0 8px rgba(0,0,0,.4);z-index:1;}
.mk-b{background:#18c964;}
.mk-s{background:#ff3b4e;}
.chartbox.big .mk{width:20px;height:20px;font-size:10px;}
.chart-note{font-family:var(--mono);font-size:10px;color:var(--tx2);text-align:center;margin-bottom:6px;}
.mk.nudge-down{margin-top:9px;}
.mk.nudge-up{margin-top:-9px;}
.chartbox.big .mk.nudge-down{margin-top:12px;}
.chartbox.big .mk.nudge-up{margin-top:-12px;}
.ch-lbl{position:absolute;left:0;font:600 9px/1 var(--mono);color:var(--tx2);background:rgba(10,10,15,.6);padding:1px 3px;border-radius:3px;}
.ch-lbl.top{top:0;}
.ch-lbl.bot{bottom:0;}
/* markers on top + dashed drop lines */
.mk.mk-top{top:0;transform:translate(-50%,0);width:16px;height:16px;font-size:9px;}
.chartbox.big .mk.mk-top{width:20px;height:20px;font-size:10px;}
.mk.mk-top.mk-n{width:auto;padding:0 6px;border-radius:999px;gap:1px;}
.mk.mk-n small{font:800 .85em/1 var(--mono);opacity:.9;}
.mk-line{position:absolute;width:0;border-left:1.5px dashed;transform:translateX(-50%);opacity:.9;pointer-events:none;}
.mk-line-b{border-color:#18c964;}
.mk-line-s{border-color:#ff3b4e;}
.mk-dot{position:absolute;width:7px;height:7px;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1.5px var(--surf);z-index:1;}
.chartbox.big .mk-dot{width:9px;height:9px;}
.chartbox svg.mk-lines{z-index:1;pointer-events:none;}
/* share sheet */
.share-modal{max-width:420px;}
.share-fmts{display:flex;gap:6px;background:var(--surf2);padding:4px;border-radius:10px;margin-bottom:12px;}
.share-fmts button{flex:1;padding:9px;border-radius:8px;font:700 11px var(--mono);color:var(--tx2);background:none;}
.share-fmts button.on{background:var(--purple);color:#000;}
.share-stage{display:flex;justify-content:center;background:#050507;border-radius:12px;padding:10px;}
.share-stage canvas{display:block;width:auto;height:auto;max-width:min(100%,300px);max-height:52vh;border-radius:10px;box-shadow:0 10px 40px rgba(0,0,0,.6);}
.share-opt{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--tx2);margin-top:12px;cursor:pointer;}
.share-opt input{width:16px;height:16px;accent-color:var(--purple);}
.share-row{display:flex;gap:8px;margin-top:8px;}
.share-row .hbtn{flex:1;padding:11px;}
/* ===== achievements screen ===== */
.t-bronze{--tier:#E0A36B;} .t-silver{--tier:#C9D3E3;} .t-gold{--tier:#FFD35C;} .t-legend{--tier:#FF5ADC;}
.ach-summary{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;background:linear-gradient(135deg,rgba(192,158,255,.10),rgba(255,211,92,.06));border:1px solid var(--border);border-radius:18px;padding:20px 22px;}
.ach-ring{position:relative;width:132px;height:132px;}
.ach-ring svg{width:100%;height:100%;transform:rotate(-90deg);}
.ach-ring circle{fill:none;stroke-width:10;}
.ach-ring .ring-bg{stroke:rgba(255,255,255,.08);}
.ach-ring .ring-fg{stroke:var(--purple);stroke-linecap:round;transition:stroke-dashoffset .6s;}
.ach-ring-txt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.ach-ring-txt b{font:800 30px var(--mono);}
.ach-ring-txt span{font:600 12px var(--mono);color:var(--tx2);}
.ach-tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.ach-tier{background:var(--surf2);border-radius:12px;padding:10px 8px;text-align:center;border:1px solid rgba(255,255,255,.06);}
.ach-tier i{display:block;width:14px;height:14px;border-radius:50%;background:var(--tier);margin:0 auto 6px;box-shadow:0 0 12px var(--tier);}
.ach-tier b{display:block;font:800 20px var(--mono);}
.ach-tier span{font:700 9px var(--mono);letter-spacing:.08em;color:var(--tx2);}
.ach-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px;}
.ach-facts div{background:rgba(0,0,0,.25);border-radius:12px;padding:10px 12px;min-width:0;}
.ach-facts span{display:block;font:700 9px var(--mono);letter-spacing:.08em;color:var(--tx2);text-transform:uppercase;}
.ach-facts b{display:block;font-size:14px;font-weight:800;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ach-facts em{font:600 10px var(--mono);color:var(--tx2);font-style:normal;}
.ach-filters{display:flex;gap:6px;margin:18px 0 4px;}
.ach-filters button{padding:8px 16px;border-radius:999px;background:var(--surf2);border:1px solid var(--border);font-size:12px;font-weight:700;color:var(--tx2);}
.ach-filters button.on{background:var(--purple);color:#000;border-color:var(--purple);}
.ach-group{margin-top:22px;}
.ach-group-head{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;}
.ach-group-head h3{font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;}
.ach-group-head span{font:700 11px var(--mono);color:var(--tx2);}
.ach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;}
.ach-tile{position:relative;text-align:left;display:flex;flex-direction:column;gap:6px;background:var(--surf);border:1px solid var(--border);border-radius:16px;padding:16px;color:var(--tx);min-height:188px;transition:transform .15s,border-color .15s;}
.ach-tile.has{border-color:color-mix(in srgb,var(--tier) 45%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--tier) 12%,var(--surf)),var(--surf) 60%);}
.ach-tile.locked{opacity:.62;}
@media(hover:hover){.ach-tile:hover{transform:translateY(-3px);}}
.ach-medal{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--tier);background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--tier) 30%,transparent),rgba(0,0,0,.2));border:2px solid color-mix(in srgb,var(--tier) 70%,transparent);}
.ach-tile.has .ach-medal{box-shadow:0 0 18px color-mix(in srgb,var(--tier) 45%,transparent);}
.ach-tile.locked .ach-medal{color:var(--tx2);border-color:rgba(255,255,255,.15);background:rgba(255,255,255,.04);}
.ach-tier-tag{position:absolute;top:14px;right:14px;font:800 9px var(--mono);letter-spacing:.1em;color:var(--tier);}
.ach-tile.locked .ach-tier-tag{color:var(--tx2);}
.ach-name{font-size:14px;font-weight:800;margin-top:4px;}
.ach-desc{font-size:12px;color:var(--tx2);line-height:1.4;flex:1;}
.ach-meta{font:600 11px var(--mono);color:var(--tx2);}
.ach-meta b{color:var(--tier);}
.ach-prog{height:6px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden;}
.ach-prog i{display:block;height:100%;background:var(--tier);border-radius:3px;}
.ach-prog.big{height:8px;margin:12px 0 6px;}
.ach-detail{text-align:center;}
.ach-detail .ach-medal.big{width:84px;height:84px;margin:6px auto 8px;}
.ach-detail .ach-tier-tag{position:static;margin-bottom:6px;}
.ach-detail h3{font-size:20px;margin:0 0 6px;}
.ach-detail p{color:var(--tx2);font-size:13px;}
.ach-detail-count{margin:12px 0;font-size:13px;color:var(--tx2);}
.ach-detail-count b{color:var(--tier);font-family:var(--mono);}
.ach-cards{display:flex;flex-direction:column;gap:6px;margin-top:14px;text-align:left;}
.ach-card-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;background:var(--surf2);border-radius:10px;padding:10px 12px;font-size:12px;color:var(--tx);}
.ach-card-row span{color:var(--tx2);font:600 11px var(--mono);}
.ach-card-row em{font:700 12px var(--mono);font-style:normal;}
/* iPad & tablets: roomier layout */
@media(min-width:700px){
  .ach-summary{padding:26px 30px;gap:34px;}
  .ach-ring{width:160px;height:160px;}
  .ach-ring-txt b{font-size:38px;}
  .ach-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;}
  .ach-tile{min-height:200px;padding:18px;}
  .ach-medal{width:58px;height:58px;}
  .ach-name{font-size:15px;}
  .ach-desc{font-size:13px;}
}
/* phones */
@media(max-width:600px){
  .ach-summary{grid-template-columns:1fr;justify-items:center;text-align:center;padding:18px;}
  .ach-facts{grid-template-columns:1fr 1fr;} .ach-facts div:last-child{grid-column:1/-1;}
  .ach-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .ach-tile{min-height:176px;padding:13px;}
  .ach-medal{width:44px;height:44px;}
  .ach-tier-tag{top:12px;right:12px;font-size:8px;}
  .ach-name{font-size:13px;}
  .ach-desc{font-size:11px;}
}
/* achievements: tuning */
@media(min-width:700px) and (max-width:1000px){
  .ach-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
  .ach-tile{min-height:186px;padding:15px;}
  .ach-medal{width:50px;height:50px;}
  nav button{padding:8px 9px;font-size:12px;}
}
@media(max-width:600px){
  .ach-summary{grid-template-columns:96px 1fr;justify-items:stretch;text-align:left;gap:14px;padding:14px;}
  .ach-ring{width:96px;height:96px;}
  .ach-ring-txt b{font-size:22px;} .ach-ring-txt span{font-size:10px;}
  .ach-sum-body{display:contents;}
  .ach-tiers{grid-column:2;align-self:center;gap:6px;}
  .ach-tier{padding:7px 4px;} .ach-tier i{width:10px;height:10px;margin-bottom:4px;} .ach-tier b{font-size:16px;} .ach-tier span{font-size:7px;}
  .ach-facts{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0;gap:6px;}
  .ach-facts div{padding:8px 9px;} .ach-facts div:last-child{grid-column:auto;}
  .ach-facts b{font-size:12px;} .ach-facts em{font-size:9px;}
}
/* ===== getting-started guide ===== */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.guide-help{width:34px;height:34px;border-radius:50%;background:var(--surf2);border:1px solid var(--border);color:var(--tx);font:800 15px var(--mono);flex-shrink:0;}
.guide-help:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
#guide{position:fixed;inset:0;z-index:200;}
.guide-scrim{position:absolute;inset:0;}
#guide.no-target .guide-scrim{background:rgba(4,4,6,.78);}
.guide-hole{position:fixed;border-radius:14px;box-shadow:0 0 0 200vmax rgba(4,4,6,.78);outline:3px solid var(--gold);outline-offset:2px;pointer-events:none;transition:top .3s,left .3s,width .3s,height .3s;}
.guide-panel{position:fixed;width:min(420px,calc(100vw - 32px));background:#16161D;border:1px solid rgba(255,255,255,.22);border-radius:18px;padding:18px 20px 16px;box-shadow:0 20px 60px rgba(0,0,0,.6);color:#fff;transition:top .3s,left .3s;}
#guide.no-target .guide-panel{top:50%;left:50%;transform:translate(-50%,-50%);}
.guide-top{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.guide-step{font:700 13px var(--mono);color:#D9D9E3;}
.guide-skip{min-height:44px;padding:0 14px;border-radius:10px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:14px;font-weight:700;}
.guide-progress{height:6px;border-radius:3px;background:rgba(255,255,255,.12);margin:10px 0 14px;overflow:hidden;}
.guide-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--purple),var(--gold));border-radius:3px;transition:width .3s;}
.guide-title{font-size:21px;font-weight:800;line-height:1.25;margin:0 0 8px;outline:none;}
.guide-body{font-size:16px;line-height:1.55;color:#EDEDF3;margin:0;}
.guide-extra{font-size:14px;line-height:1.5;color:#FFD35C;margin:10px 0 0;background:rgba(255,211,92,.08);border-radius:10px;padding:10px 12px;}
.guide-extra[hidden]{display:none;}
.guide-actions{display:flex;justify-content:space-between;gap:10px;margin-top:16px;}
.guide-btn{min-height:48px;padding:0 20px;border-radius:12px;font-size:16px;font-weight:800;}
.guide-btn.primary{flex:1;background:linear-gradient(90deg,var(--purple),var(--gold));color:#000;}
.guide-btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;}
.guide-btn.link{width:100%;margin-top:10px;background:rgba(61,255,160,.12);border:1px solid rgba(61,255,160,.45);color:#3DFFA0;}
.guide-btn[hidden],.guide-skip[hidden]{display:none;}
.guide-keys{margin:10px 0 0;font:600 12px var(--mono);color:#A9A9B6;text-align:center;}
#guide button:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
/* phones: bottom sheet, thumbs-reachable */
#guide.is-phone .guide-panel{left:0;right:0;bottom:0;top:auto;width:auto;transform:none;border-radius:20px 20px 0 0;padding:16px 18px calc(16px + env(safe-area-inset-bottom,0px));max-height:70vh;overflow-y:auto;}
#guide.is-phone .guide-keys{display:none;}
#guide.is-phone.no-target .guide-panel{top:auto;left:0;transform:none;}
#guide.reduce .guide-hole,#guide.reduce .guide-panel,#guide.reduce .guide-progress i{transition:none;}
@media(prefers-contrast:more){.guide-panel{background:#000;border-color:#fff;} .guide-body{color:#fff;}}
/* coin images (as-is: never cropped, dark backdrop behind transparent logos) */
.coin-img{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:28%;overflow:hidden;background:#0B0B10;box-shadow:0 0 0 1.5px rgba(255,255,255,.14);vertical-align:middle;}
.coin-img img{width:100%;height:100%;object-fit:contain;display:block;}
.coin-img.ph{background:linear-gradient(135deg,rgba(192,158,255,.25),rgba(255,211,92,.18));color:#fff;font-weight:800;font-family:var(--mono);}
.coin-img.big{border-radius:24px;box-shadow:0 0 0 2px rgba(255,255,255,.18),0 10px 30px rgba(0,0,0,.45);}
.card-coin{display:flex;justify-content:center;margin-top:8px;}
.card .card-coin + .ticker{margin-top:6px;}
.detail-coin{display:flex;justify-content:flex-start;margin-top:10px;}
.hist-tk{display:inline-flex;align-items:center;gap:8px;}
/* ===== trade detail ===== */
.detail-modal{max-width:880px;width:100%;}
.dt{display:flex;flex-direction:column;gap:16px;}
.dt-head{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding-right:34px;}
.dt-id h2{font-size:24px;font-weight:900;line-height:1.1;margin:0;word-break:break-word;}
.dt-sub{font:600 12px var(--mono);color:var(--tx2);margin-top:4px;}
.dt-badges{display:flex;align-items:center;gap:8px;}
.r-common{--rc:#ADADB8;} .r-uncommon{--rc:#3DFFA0;} .r-rare{--rc:#6EC0FF;} .r-epic{--rc:#C09EFF;} .r-legendary{--rc:#FFD35C;} .r-mythic{--rc:#FF5ADC;}
.dt-rar{font:800 10px var(--mono);letter-spacing:.08em;color:var(--rc);background:color-mix(in srgb,var(--rc) 14%,transparent);padding:5px 9px;border-radius:999px;}
.dt-grade{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:11px;border:2px solid var(--rc);color:var(--rc);font:900 20px var(--sans,inherit);background:color-mix(in srgb,var(--rc) 12%,transparent);}
.dt-hero{border-radius:18px;padding:18px 20px;background:linear-gradient(135deg,color-mix(in srgb,var(--c) 16%,transparent),transparent 70%),var(--surf2);border:1px solid color-mix(in srgb,var(--c) 35%,transparent);}
.dt-hero.pos{--c:var(--green);} .dt-hero.neg{--c:var(--red);}
.dt-pnl{font:900 clamp(38px,9vw,56px)/1 var(--mono);color:var(--c);text-shadow:0 0 30px color-mix(in srgb,var(--c) 40%,transparent);}
.dt-hero-sub{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.dt-pill{font:800 13px var(--mono);padding:6px 11px;border-radius:999px;background:color-mix(in srgb,var(--c) 18%,transparent);color:var(--c);}
.dt-pill.ghost{background:rgba(255,255,255,.06);color:var(--tx);font-weight:700;}
.dt-net{margin-top:12px;font-size:13px;color:var(--tx2);}
.dt-net b{font-family:var(--mono);}
.dt-grid{display:grid;grid-template-columns:1fr;gap:16px;}
.dt-chart{background:rgba(255,255,255,.025);border:1px solid var(--border);border-radius:14px;padding:12px;}
.dt-chart.is-loading .chartbox{opacity:.35;}
.dt-chart.is-loading{position:relative;overflow:hidden;}
.dt-chart.is-loading::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.07) 50%,transparent 70%);animation:dtShimmer 1.6s infinite;}
@keyframes dtShimmer{from{transform:translateX(-100%);}to{transform:translateX(100%);}}
@media(prefers-reduced-motion:reduce){.dt-chart.is-loading::after{animation:none;}}
.dt .chart-note{text-align:left;margin:8px 2px 0;font-size:11px;}
.dt-h{font:800 11px var(--mono);letter-spacing:.1em;color:var(--tx2);text-transform:uppercase;margin:16px 0 8px;}
.dt-fills{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
.dt-fills li{display:grid;grid-template-columns:auto auto 1fr auto;gap:10px;align-items:center;background:var(--surf2);border-radius:10px;padding:9px 12px;font-size:13px;}
.mk-chip{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:900 10px var(--mono);color:#fff;}
.mk-chip.mk-b{background:#18c964;} .mk-chip.mk-s{background:#ff3b4e;}
.dt-f-what{font-weight:800;}
.dt-f-time{font:600 12px var(--mono);color:var(--tx2);}
.dt-f-time em{font-style:normal;color:var(--tx);margin-left:6px;}
.dt-f-mc{font:700 12px var(--mono);}
.dt-rows{background:var(--surf2);border-radius:12px;overflow:hidden;}
.dt-row{display:flex;justify-content:space-between;gap:12px;padding:11px 14px;font-size:13px;border-top:1px solid rgba(255,255,255,.05);}
.dt-row:first-child{border-top:none;}
.dt-row span{color:var(--tx2);}
.dt-row b{font-family:var(--mono);text-align:right;}
.dt-badgelist{display:flex;flex-wrap:wrap;gap:6px;}
.dt-badge{display:inline-flex;align-items:center;gap:6px;font:800 11px var(--mono);color:#FFD35C;background:rgba(255,211,92,.1);border:1px solid rgba(255,211,92,.35);border-radius:999px;padding:6px 10px;}
.dt-mint{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--surf2);border-radius:12px;padding:8px 8px 8px 14px;}
.dt-mint code{font:600 13px var(--mono);}
.dt-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.dt-links a{font-size:12px;font-weight:700;color:var(--tx);text-decoration:none;background:rgba(255,255,255,.06);border:1px solid var(--border);border-radius:999px;padding:8px 12px;}
.dt-links a:focus-visible,.dt button:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
.dt-actions{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:stretch;position:sticky;bottom:-22px;margin:0 -22px -22px;padding:12px 22px calc(16px + env(safe-area-inset-bottom,0px));background:var(--surf);border-top:1px solid var(--border);z-index:2;}
.dt-actions .share-btn{margin:0;}
.dt-actions .hbtn{padding:0 18px;}
@media(min-width:760px){
  .dt-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:22px;}
  .dt-main .dt-h:first-of-type{margin-top:18px;}
  .dt-side .dt-h:first-child{margin-top:0;}
}
@media(max-width:480px){
  .dt-head{grid-template-columns:auto 1fr;}
  .dt-badges{grid-column:1/-1;}
  .dt-fills li{grid-template-columns:auto 1fr auto;} .dt-f-what{display:none;}
}
.chartbox svg.cs{overflow:hidden;}
.mk-dot{background:var(--dotc) !important;border:1.5px solid rgba(5,7,10,.85);box-shadow:none;width:13px;height:13px;display:flex;align-items:center;justify-content:center;color:#fff;font:900 7px/1 var(--mono);}
.mk-dot.mk-b{--dotc:#18c964;} .mk-dot.mk-s{--dotc:#ff3b4e;}
.chartbox.big .mk-dot{width:15px;height:15px;font-size:8.5px;}
.chartbox.skel{display:flex;align-items:center;gap:3%;padding:6% 2%;}
.chartbox.skel i{flex:1;border-radius:2px;background:rgba(255,255,255,.10);animation:skelPulse 1.1s ease-in-out infinite alternate;}
@keyframes skelPulse{from{opacity:.35;}to{opacity:.9;}}
@media(prefers-reduced-motion:reduce){.chartbox.skel i{animation:none;}}
.share-styles button.on{background:linear-gradient(90deg,var(--purple),var(--gold));}
.share-styles button:disabled{opacity:.4;cursor:not-allowed;}
.share-note{font-size:12px;color:var(--tx2);margin:-4px 0 10px;}
.share-stage{position:relative;}
.share-sound{position:absolute;right:16px;bottom:16px;min-height:40px;padding:0 14px;border-radius:999px;background:rgba(0,0,0,.7);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:13px;font-weight:700;}
/* provider guides + connect sheet */
.prov-main{min-width:0;flex:1;}
.prov-help{width:24px;height:24px;border-radius:50%;margin-left:6px;background:var(--surf2);border:1px solid var(--border);color:var(--tx);font:800 12px var(--mono);vertical-align:1px;}
.prov-help:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
.prov-modal{max-width:480px;}
.prov-modal h3{font-size:20px;font-weight:900;margin:0 34px 12px 0;}
.pg-steps{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:9px;font-size:15px;line-height:1.5;}
.pg-steps code,.pg-tips code{font-family:var(--mono);font-size:13px;background:rgba(255,255,255,.08);padding:1px 5px;border-radius:5px;}
.pg-tips{margin:12px 0 0;padding:10px 14px 10px 30px;background:rgba(255,211,92,.08);border-radius:10px;font-size:13px;color:#FFE7A3;line-height:1.5;}
.pg-h{font:800 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--tx2);margin:18px 0 8px;}
.pg-facts{margin:0;padding-left:20px;font-size:13px;color:var(--tx2);line-height:1.55;display:flex;flex-direction:column;gap:5px;}
.pg-actions{margin-top:18px;display:flex;gap:10px;}
.pg-actions .share-btn{margin:0;flex:1;}
.pg-actions .hbtn{flex:1;min-height:46px;}
.pg-how{background:var(--surf2);border-radius:12px;padding:10px 14px;margin-bottom:14px;}
.pg-how summary{cursor:pointer;font-weight:700;font-size:14px;}
.pg-how .pg-steps{margin-top:10px;font-size:14px;}
.pg-label{display:block;font-size:13px;font-weight:700;margin-bottom:6px;}
.pg-input{display:flex;gap:8px;}
.pg-input input{flex:1;min-width:0;background:var(--surf2);border:1px solid var(--border);border-radius:10px;padding:13px 12px;color:var(--tx);font:600 14px var(--mono);}
.pg-input input:focus{outline:2px solid var(--purple);}
.pg-msg{min-height:20px;margin:8px 2px 0;font-size:13px;font-weight:600;}
.pg-msg.ok{color:var(--green);} .pg-msg.bad{color:#ff4d5e;} .pg-msg.warn{color:#FFD35C;}
.pg-safe{font-size:12px;color:var(--tx2);margin:10px 0 0;line-height:1.5;}
.share-btn:disabled{opacity:.45;cursor:not-allowed;}
/* trade replay customization */
.rc{margin-top:12px;background:var(--surf2);border:1px solid var(--border);border-radius:14px;padding:12px 12px 14px;}
.rc-head{display:flex;justify-content:space-between;align-items:baseline;font-weight:900;font-size:15px;margin-bottom:8px;}
.rc-head em{font:700 12px var(--mono);color:var(--tx2);font-style:normal;}
.rc-group{margin-top:10px;}
.rc-label{font:800 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--tx2);margin-bottom:6px;}
.rc-row{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px;}
.rc-row::-webkit-scrollbar{display:none;}
.rc-chip{flex-shrink:0;min-height:38px;padding:0 13px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--border);color:var(--tx);font-size:13px;font-weight:700;white-space:nowrap;}
.rc-chip.on{background:var(--tx);color:#000;border-color:var(--tx);}
.rc-chip.preset{font-weight:800;}
.rc-chip.preset.on{background:linear-gradient(90deg,var(--purple),var(--gold));border-color:transparent;}
.rc-chip.sw::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;background:var(--swc);vertical-align:0;}
.sw-neon{--swc:#3DFFA0;} .sw-purple{--swc:#C09EFF;} .sw-gold{--swc:#FFD35C;} .sw-ice{--swc:#6EC0FF;} .sw-mono{--swc:#FFFFFF;}
.rc-chip:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
.rc-reset{width:100%;margin-top:12px;min-height:40px;}
.share-q{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:12px;color:var(--tx2);flex-wrap:wrap;}
.share-q span{margin-right:4px;font-weight:700;}
.share-q button{min-height:36px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--border);color:var(--tx);font-size:12px;font-weight:700;}
.share-q button.on{background:var(--tx);color:#000;border-color:var(--tx);}
/* fill rounds sized to the candles: ~2.5 candles wide, readable at any zoom */
.chartbox{container-type:inline-size;}
.mk-dot{--d:0;width:clamp(15px, calc(var(--d) * 1cqw), 30px) !important;height:clamp(15px, calc(var(--d) * 1cqw), 30px) !important;font-size:clamp(8.5px, calc(var(--d) * 0.55cqw), 16px) !important;z-index:2;}
.chartbox.big .mk-dot{width:clamp(20px, calc(var(--d) * 1cqw), 44px) !important;height:clamp(20px, calc(var(--d) * 1cqw), 44px) !important;font-size:clamp(11px, calc(var(--d) * 0.55cqw), 23px) !important;}
/* fill rounds: one fixed, readable size (overlaps are resolved in JS) */
.mk-dot{width:16px !important;height:16px !important;font-size:9px !important;z-index:3;}
.chartbox.big .mk-dot{width:22px !important;height:22px !important;font-size:12px !important;}
.mk-anchor{position:absolute;width:6px;height:6px;border-radius:50%;transform:translate(-50%,-50%);z-index:2;box-shadow:0 0 0 1.5px rgba(5,7,10,.85);}
.mk-anchor.mk-b{background:#18c964;} .mk-anchor.mk-s{background:#ff3b4e;}
.chartbox.big .mk-anchor{width:8px;height:8px;}
/* in-app chart: the fill is a small white dot ringed in its color (lettered rounds only at the top) */
.chartbox .mk-dot{width:9px !important;height:9px !important;background:#fff !important;border:2.5px solid var(--dotc) !important;box-shadow:0 0 0 1.5px rgba(5,7,10,.85) !important;font-size:0 !important;z-index:3;}
.chartbox.big .mk-dot{width:12px !important;height:12px !important;}
/* modern chart: soft card background, glowing candles */
.chartbox.modern{background:radial-gradient(120% 90% at 50% 0%, rgba(255,255,255,.035), transparent 70%);border-radius:12px;}
.chartbox.modern svg.cs{filter:drop-shadow(0 0 4px rgba(24,201,100,.10));}

/* first-load skeletons */
.sk{display:block;height:9px;border-radius:5px;background:linear-gradient(90deg,rgba(255,255,255,.05),rgba(255,255,255,.12),rgba(255,255,255,.05));background-size:200% 100%;animation:skShine 1.4s linear infinite;margin:6px auto;}
.stat .sk{margin:6px 0;}
.sk-card{cursor:default;pointer-events:none;}
.sk-row{display:flex;justify-content:space-between;gap:8px;}
.sk-row .sk{margin:0;}
.sk-coin{width:46px !important;height:46px;border-radius:12px;margin:12px auto 8px;}
.home-loading{display:inline-flex;align-items:center;gap:6px;margin-left:10px;font:600 10px var(--mono);letter-spacing:.06em;color:var(--tx2);text-transform:uppercase;vertical-align:middle;}
.home-loading[hidden]{display:none;}
.hl-dot{width:6px;height:6px;border-radius:50%;background:var(--purple);animation:skelPulse .8s ease-in-out infinite alternate;}
@keyframes skShine{from{background-position:200% 0;}to{background-position:-200% 0;}}
@media(prefers-reduced-motion:reduce){.sk,.hl-dot{animation:none;}}

/* fill rounds: one per group, the other fills of the group are small anchors on a bracket */
.mk-dot{width:12px !important;height:12px !important;border-width:2px !important;}
.chartbox.big .mk-dot{width:14px !important;height:14px !important;}
.chartbox.big .mk-anchor{width:7px;height:7px;}

/* legal: footer links, sign-up consent, delete account */
.foot-links{margin-top:8px;}
.foot-links a,.consent a,.provider-sub a{color:var(--tx2);text-decoration:underline;text-underline-offset:2px;}
.consent{display:flex;gap:9px;align-items:flex-start;margin:4px 0 12px;font-size:11.5px;line-height:1.45;color:var(--tx2);text-align:left;cursor:pointer;}
.consent input{flex:none;width:16px;height:16px;margin-top:1px;accent-color:var(--purple);}
.consent.need{color:var(--red);}
.btn-danger{color:var(--red) !important;border-color:rgba(255,92,108,.5) !important;}

/* trade band on the detail chart: entry / exit price tags, ROI in the band, peak while holding */
.ch-tag{position:absolute;right:0;transform:translateY(-50%);font:700 9px/1 var(--mono);color:#05070a;background:var(--c);padding:2px 4px;border-radius:3px;z-index:2;pointer-events:none;}
.ch-roi{position:absolute;transform:translate(calc(-100% - 8px),-50%);display:flex;flex-direction:column;align-items:flex-end;gap:1px;z-index:2;pointer-events:none;text-shadow:0 1px 6px rgba(0,0,0,.8);}
.ch-roi.out{transform:translate(8px,-50%);align-items:flex-start;}
.ch-roi b{font:900 15px/1 var(--mono);color:var(--c);}
.ch-roi i{font:700 9px/1 var(--mono);font-style:normal;color:var(--tx2);}
.ch-peak{position:absolute;transform:translate(-50%,calc(-100% - 5px));font:700 8.5px/1 var(--mono);color:var(--tx2);background:rgba(10,10,15,.7);padding:2px 4px;border-radius:3px;z-index:2;pointer-events:none;white-space:nowrap;}

/* PRO */
.pro-tag{display:inline-block;font:900 10px/1 var(--mono);letter-spacing:.08em;padding:3px 6px;border-radius:5px;color:#05070a;background:linear-gradient(90deg,#B98CFF,#FFD25A);vertical-align:middle;}
.pro-btn{background:linear-gradient(90deg,#B98CFF,#FFD25A) !important;color:#05070a !important;border:none !important;font-weight:900;}
.pro-list{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:8px;font-size:13px;color:var(--tx2);}
.pro-list li::before{content:"\2713";color:#FFD25A;font-weight:900;margin-right:8px;}
.pro-plans{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;}
.pro-plan{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:16px 10px;border-radius:14px;border:1px solid var(--border);background:var(--bg);color:var(--tx);cursor:pointer;}
.pro-plan b{font:900 22px/1 var(--mono);}
.pro-plan span{font-size:11px;color:var(--tx2);}
.pro-plan.best{border-color:#FFD25A;}
.pro-plan em{position:absolute;top:-9px;right:10px;font:900 10px/1 var(--mono);font-style:normal;padding:3px 6px;border-radius:5px;background:#FFD25A;color:#05070a;}
.pro-plan:disabled{opacity:.5;cursor:wait;}
.pro-fine{font-size:11px;line-height:1.5;color:var(--tx2);margin:0;}
.pro-fine a{color:var(--tx2);text-decoration:underline;}
.rc-chip.locked{opacity:.55;}
.rc-chip.locked::after{content:"PRO";margin-left:5px;font:900 8px/1 var(--mono);padding:2px 4px;border-radius:3px;background:linear-gradient(90deg,#B98CFF,#FFD25A);color:#05070a;vertical-align:middle;}

.stat-locked{opacity:.5;}
.pro-cta{display:block;width:100%;margin:10px 0 18px;padding:12px 14px;border-radius:12px;border:1px dashed rgba(255,210,90,.5);background:rgba(255,210,90,.06);color:var(--tx);font:700 12px/1.4 var(--sans,inherit);text-align:left;cursor:pointer;}
.rc-lock{display:flex;flex-direction:column;gap:10px;align-items:flex-start;padding:14px;border:1px dashed rgba(255,210,90,.5);border-radius:12px;background:rgba(255,210,90,.06);font-size:12px;color:var(--tx2);}
.rc-lock b{color:var(--tx);font-size:13px;}
.share-q button.locked{opacity:.55;}
.share-q button.locked::after{content:" PRO";font:900 8px/1 var(--mono);color:#FFD25A;}

/* modals: sized on the visible screen (dvh), never under the notch / home bar */
.modal{max-height:90vh; max-height:90dvh;}
@media(max-width:640px){
  /* phone: the trade detail is a full-screen sheet — nothing cut at the top or bottom, safe areas respected */
  #detailOverlay{padding:0; align-items:stretch;}
  #detailOverlay .detail-modal{max-width:none; width:100%; height:100vh; height:100dvh; max-height:none; border-radius:0; border:0;
    padding:calc(22px + env(safe-area-inset-top,0px)) 18px 22px; -webkit-overflow-scrolling:touch; overscroll-behavior:contain;}
  #detailOverlay .closebtn{position:fixed; top:calc(10px + env(safe-area-inset-top,0px)); right:12px; z-index:5; width:40px; height:40px;
    border-radius:50%; background:var(--surf2); color:var(--tx); font-size:22px;}
  #detailOverlay .dt-actions{margin:0 -18px -22px; padding-left:18px; padding-right:18px;}
}

/* landing SEO block */
.seo p{color:var(--tx2); font-size:13px; line-height:1.6; max-width:760px;}
.seo strong{color:var(--tx);}
.seo-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:16px;}
@media(max-width:700px){.seo-grid{grid-template-columns:1fr;}}
.seo-grid>div{background:var(--surf); border:1px solid var(--border); border-radius:12px; padding:14px 16px;}
.seo-grid h3{font-size:13px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; margin-bottom:6px;}
.seo-grid p{margin:0;}
.seo details{border-bottom:1px solid var(--border); padding:12px 0; max-width:760px;}
.seo summary{cursor:pointer; font-weight:700; font-size:14px;}
.seo details p{margin-top:8px;}

/* share: custom background (photo / video) */
.share-bg{margin-top:12px;}
.share-bg-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:var(--tx2);}
.share-bg-row span{font-weight:700;margin-right:4px;}
.share-bg-row .hbtn{min-height:36px;padding:0 12px;font-size:12px;}
.share-bg-row .hbtn.locked::after{content:"PRO";margin-left:5px;font:900 8px/1 var(--mono);padding:2px 4px;border-radius:3px;background:linear-gradient(90deg,#B98CFF,#FFD25A);color:#05070a;vertical-align:middle;}
.share-bg-dim{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:12px;color:var(--tx2);}
.share-bg-dim input{flex:1;accent-color:var(--purple);min-height:32px;}
.share-bg-dim em{font:700 12px var(--mono);font-style:normal;color:var(--tx);min-width:38px;text-align:right;}
#shareBgTools .rc-row{margin-top:8px;}
.share-bg-dim span{min-width:58px;}
.rc-upsell{display:flex;align-items:center;gap:10px;margin:0 0 10px;padding:10px 12px;border:1px dashed rgba(255,210,90,.5);border-radius:12px;background:rgba(255,210,90,.06);font-size:12px;color:var(--tx2);}
.rc-upsell span{flex:1;}
.rc-upsell .pro-btn{flex-shrink:0;}

/* RADAR */
.radar-note{color:var(--tx2); font-size:13px; line-height:1.5; margin:-4px 0 16px; max-width:760px;}
.radar-list{display:flex; flex-direction:column; gap:10px;}
.radar-item{background:var(--surf); border:1px solid var(--border); border-radius:14px; overflow:hidden; transition:border-color .15s;}
.radar-item.open{border-color:rgba(192,158,255,.45);}
.radar-head{display:flex; align-items:center; gap:4px; padding-right:12px;}
.radar-row{display:flex; align-items:center; gap:12px; flex:1; min-width:0; padding:12px 6px 12px 14px; text-align:left; min-height:64px;}
.radar-row:hover{background:rgba(255,255,255,.02);}
.radar-row:focus-visible{outline:2px solid var(--purple); outline-offset:-2px;}
.radar-main{display:flex; flex-direction:column; gap:4px; min-width:0; flex:1;}
.radar-tk{font-weight:800; font-size:15px; display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; min-width:0;}
.radar-name{font-weight:500; font-size:13px; color:var(--tx2); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:220px;}
.radar-tag{font-size:10px; font-weight:700; letter-spacing:.04em; color:var(--purple); background:rgba(192,158,255,.12); padding:2px 6px; border-radius:5px;}
.radar-tag.live{color:#fff; background:var(--red);}
.radar-meta{font-family:var(--mono); font-size:12px; color:var(--tx2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.radar-score{display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:58px; height:48px; border-radius:11px; flex-shrink:0;
  background:rgba(61,255,160,.08); border:1px solid rgba(61,255,160,.35); color:var(--green);}
.radar-score b{font-family:var(--mono); font-size:19px; line-height:1;}
.radar-score small{font-size:8.5px; font-weight:700; letter-spacing:.08em; margin-top:3px; opacity:.85;}
.radar-score.hi{background:linear-gradient(135deg,rgba(61,255,160,.16),rgba(255,211,92,.12)); border-color:rgba(255,211,92,.5); color:var(--gold);}
.radar-detail{padding:4px 14px 14px; border-top:1px solid var(--border);}
.radar-checks{list-style:none; display:grid; grid-template-columns:1fr; gap:2px; margin:10px 0 12px;}
.radar-checks li{display:grid; grid-template-columns:18px 130px 1fr; align-items:center; gap:8px; font-size:13px; padding:6px 0; border-bottom:1px solid rgba(255,255,255,.05);}
.radar-checks li:last-child{border-bottom:none;}
.rc-t{font-weight:600;}
.rc-d{color:var(--tx2); font-family:var(--mono); font-size:12px;}
.radar-stats{display:flex; flex-wrap:wrap; gap:8px 16px; font-size:12px; color:var(--tx2); margin-bottom:12px;}
.radar-stats b{color:var(--tx); font-family:var(--mono);}
.radar-links{display:flex; flex-wrap:wrap; gap:8px;}
.radar-links a,.radar-copy{display:inline-flex; align-items:center; gap:6px; min-height:36px; padding:8px 12px; border-radius:8px; font-size:12px; font-weight:700;
  background:var(--surf2); border:1px solid var(--border); color:var(--tx); text-decoration:none;}
.radar-links a:hover,.radar-copy:hover{border-color:rgba(192,158,255,.5);}
.radar-warn{margin-top:12px; font-size:11.5px; color:var(--tx2);}
.radar-foot{margin:14px 0 40px; font-size:12px; color:var(--tx2); font-family:var(--mono);}
.radar-skel{height:66px; border-radius:14px; background:linear-gradient(90deg,var(--surf) 0%,var(--surf2) 50%,var(--surf) 100%); background-size:200% 100%; animation:radarSk 1.4s linear infinite;}
@keyframes radarSk{to{background-position:-200% 0;}}
@media(prefers-reduced-motion:reduce){.radar-skel{animation:none;}}
@media(max-width:560px){
  .radar-name{display:none;}
  .radar-checks li{grid-template-columns:18px 1fr; }
  .radar-checks .rc-d{grid-column:2;}
}

/* RADAR v2 : liens, infos, graphique */
.radar-open{display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; min-width:52px; height:48px; border-radius:11px; flex-shrink:0;
  background:var(--tx); color:#000; text-decoration:none; font-size:10px; font-weight:800; letter-spacing:.06em;}
.radar-open:hover{background:var(--purple);}
.radar-open:focus-visible{outline:2px solid var(--purple); outline-offset:2px;}
.rd-venues{display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:14px 0 12px;}
.rd-venue{display:flex; flex-direction:column; gap:3px; padding:12px; min-height:56px; border-radius:11px; text-decoration:none; color:var(--tx);
  background:var(--surf2); border:1px solid var(--border); transition:border-color .15s, transform .15s;}
.rd-venue b{display:flex; align-items:center; justify-content:space-between; gap:6px; font-size:14px;}
.rd-venue small{font-size:11px; color:var(--tx2);}
.rd-venue:hover{border-color:rgba(192,158,255,.6); transform:translateY(-1px);}
.rd-venue.pump{background:linear-gradient(135deg,rgba(61,255,160,.14),rgba(61,255,160,.04)); border-color:rgba(61,255,160,.45);}
.rd-chart{background:#0B0B10; border:1px solid var(--border); border-radius:12px; overflow:hidden; margin-bottom:12px;}
.rd-chart-bar{display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 10px; border-bottom:1px solid var(--border); flex-wrap:wrap;}
.rd-tfs{display:flex; gap:4px;}
.rd-tfs button{min-width:38px; min-height:32px; padding:4px 8px; border-radius:7px; font-family:var(--mono); font-size:12px; font-weight:700; color:var(--tx2);}
.rd-tfs button.active{color:var(--tx); background:var(--surf2); box-shadow:inset 0 0 0 1px var(--border);}
.rd-chart-unit{font-size:10px; font-weight:700; letter-spacing:.08em; color:var(--tx2);}
.rd-chart-box{position:relative; height:340px;}
.rd-chart-msg{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:8px; padding:20px; text-align:center;
  color:var(--tx2); font-size:13px; background:#0B0B10; z-index:3;}
.rd-chart-msg a{color:var(--purple); font-weight:700;}
.rd-chart-foot{padding:6px 10px; font-size:10.5px; color:var(--tx2); border-top:1px solid var(--border);}
.rd-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:12px; overflow:hidden; margin-bottom:12px;}
.rd-stat{background:var(--surf); padding:10px 12px; display:flex; flex-direction:column; gap:4px; min-width:0;}
.rd-stat span{font-size:11px; color:var(--tx2);}
.rd-stat b{font-family:var(--mono); font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.rd-stat b small{font-size:11px; font-weight:500;}
.rd-na{color:var(--tx2);}
.rd-curve{margin-bottom:12px;}
.rd-curve-top{display:flex; justify-content:space-between; font-size:12px; color:var(--tx2); margin-bottom:6px;}
.rd-curve-top b{color:var(--green); font-family:var(--mono);}
.rd-bar{height:8px; border-radius:6px; background:var(--surf2); overflow:hidden;}
.rd-bar i{display:block; height:100%; border-radius:6px; background:linear-gradient(90deg,var(--green),var(--gold));}
.rd-about{background:var(--surf2); border-radius:12px; padding:12px; margin-bottom:12px;}
.rd-socials{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:8px;}
.rd-socials a{display:inline-flex; align-items:center; gap:6px; min-height:34px; padding:6px 12px; border-radius:8px; background:var(--surf); border:1px solid var(--border);
  font-size:12px; font-weight:700; color:var(--tx); text-decoration:none;}
.rd-socials a small{font-weight:500; color:var(--tx2); max-width:140px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.rd-desc{font-size:13px; line-height:1.5; color:var(--tx); overflow-wrap:anywhere;}
.rd-src{font-size:11px; color:var(--tx2); margin-top:6px;}
.rd-h{font-size:11px; font-weight:700; letter-spacing:.08em; color:var(--tx2); margin:4px 0 0;}
@media(max-width:760px){
  .rd-venues{grid-template-columns:repeat(2,1fr);}
  .rd-stats{grid-template-columns:repeat(2,1fr);}
  .rd-chart-box{height:280px;}
}
@media(max-width:400px){ .radar-meta{font-size:11px;} .radar-score{min-width:50px;} .radar-open{min-width:46px;} }
#proOverlay .closebtn{width:44px;height:44px;top:10px;right:10px;font-size:26px;z-index:2;}

/* RADAR v4 : categories, safety filter, search, per-tab numbers */
.rd-top{margin-bottom:12px;}
.rd-top h2{display:flex; align-items:baseline; gap:10px;}
.rd-count{font-family:var(--mono); font-size:12px; font-weight:600; color:var(--tx2);}
.rd-live{display:inline-flex; align-items:center; gap:8px; font-family:var(--mono); font-size:11.5px; color:var(--tx2); padding:6px 10px; border:1px solid var(--border); border-radius:999px; background:var(--surf);}
.rd-live i{width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 0 rgba(61,255,160,.6); animation:rdPulse 2s infinite;}
.rd-live.off i{background:var(--tx2); animation:none;}
@keyframes rdPulse{0%{box-shadow:0 0 0 0 rgba(61,255,160,.55);}70%{box-shadow:0 0 0 7px rgba(61,255,160,0);}100%{box-shadow:0 0 0 0 rgba(61,255,160,0);}}
.rd-cats{display:flex; gap:6px; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; padding:2px 0 4px; margin-bottom:12px; scroll-snap-type:x proximity;}
.rd-cats::-webkit-scrollbar{display:none;}
.rd-cat{flex-shrink:0; display:inline-flex; align-items:center; gap:8px; min-height:40px; padding:0 14px; border-radius:999px; background:var(--surf); border:1px solid var(--border);
  color:var(--tx2); font-size:13px; font-weight:700; white-space:nowrap; scroll-snap-align:start; transition:border-color .15s, color .15s, background .15s;}
.rd-cat em{font-style:normal; font-family:var(--mono); font-size:11px; font-weight:600; color:var(--tx2); background:var(--surf2); padding:2px 7px; border-radius:999px; min-width:22px; text-align:center;}
.rd-cat:hover{color:var(--tx); border-color:rgba(192,158,255,.4);}
.rd-cat.active{color:#000; background:var(--tx); border-color:var(--tx);}
.rd-cat.active em{background:rgba(0,0,0,.1); color:#000;}
.rd-cat:focus-visible{outline:2px solid var(--purple); outline-offset:2px;}
.rd-dot{width:7px; height:7px; border-radius:50%; background:var(--red); animation:rdBlink 1.4s infinite;}
@keyframes rdBlink{50%{opacity:.35;}}
.rd-tools{display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:8px;}
.rd-search{flex:1 1 240px; display:flex; align-items:center; gap:8px; min-height:40px; padding:0 12px; background:var(--surf); border:1px solid var(--border); border-radius:10px; color:var(--tx2);}
.rd-search:focus-within{border-color:rgba(192,158,255,.6);}
.rd-search input{flex:1; min-width:0; background:none; border:none; outline:none; color:var(--tx); font-size:14px; font-family:inherit; min-height:38px;}
.rd-search input::-webkit-search-cancel-button{filter:invert(.7);}
.rd-min{display:flex; align-items:center; gap:8px; font-size:11px; font-weight:700; letter-spacing:.06em; color:var(--tx2); text-transform:uppercase;}
.rd-min .chip{min-height:34px; font-family:var(--mono);}
.rd-catdesc{font-size:12.5px; color:var(--tx2); margin:0 0 12px; line-height:1.45;}
.radar-cells{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:4px 12px; min-width:0;}
.rd-cell{display:flex; flex-direction:column; gap:1px; min-width:0;}
.rd-cell small{font-size:10px; font-weight:600; color:var(--tx2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.rd-cell b{font-family:var(--mono); font-size:12.5px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.rd-minibar{display:block; height:6px; margin-top:4px; border-radius:4px; background:var(--surf2); overflow:hidden;}
.rd-minibar i{display:block; height:100%; border-radius:4px; background:linear-gradient(90deg,var(--green),var(--gold));}
.radar-score.mid{background:rgba(255,211,92,.08); border-color:rgba(255,211,92,.4); color:var(--gold);}
.radar-score.low{background:rgba(255,92,108,.08); border-color:rgba(255,92,108,.45); color:var(--red);}
.radar-qcopy{display:inline-flex; align-items:center; justify-content:center; width:40px; height:48px; border-radius:11px; flex-shrink:0; color:var(--tx2); margin-right:4px;}
.radar-qcopy:hover{color:var(--tx); background:var(--surf2);}
.radar-qcopy:focus-visible{outline:2px solid var(--purple); outline-offset:2px;}
.radar-item.is-new{animation:rdNew 2.4s ease-out 1;}
@keyframes rdNew{0%{border-color:rgba(61,255,160,.8); box-shadow:0 0 0 3px rgba(61,255,160,.18);}100%{border-color:var(--border); box-shadow:none;}}
.radar-about{margin:0 0 40px;}
.radar-about summary{cursor:pointer; font-size:12px; font-weight:700; color:var(--tx2); padding:6px 0; list-style-position:inside;}
.radar-about .radar-note{margin:8px 0 0;}
.radar-foot{margin:14px 0 12px;}
@media(min-width:900px){
  .radar-main{flex-direction:row; align-items:center; gap:16px;}
  .radar-tk{flex:0 0 260px; min-width:0; flex-wrap:nowrap; overflow:hidden;}
  .radar-cells{flex:1;}
}
@media(max-width:560px){
  .radar-cells{grid-template-columns:repeat(3, minmax(0,1fr));}
  .radar-cells .rd-cell:nth-child(4){display:none;}
  .radar-qcopy{display:none;}
  .rd-min{width:100%; justify-content:space-between;}
}
@media(prefers-reduced-motion:reduce){.rd-live i,.rd-dot,.radar-item.is-new{animation:none;}}
.radar-item .pos{color:var(--green);} .radar-item .neg{color:var(--red);}
.radar-tag{white-space:nowrap;}
@media(max-width:560px){
  .radar-row{gap:10px; padding:12px 4px 12px 12px;}
  .radar-head{padding-right:10px;}
  .rd-cell b{font-size:12px;}
  .radar-tk{font-size:14px; gap:6px;}
  .radar-score{min-width:50px;}
  .radar-open{min-width:46px;}
}
.radar-tag.early{color:var(--gold); background:rgba(255,211,92,.12);}
.radar-tag.dump{color:#fff; background:#B3261E;}

/* ---------- HOME v2: trading desk ---------- */
.hm-head{display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding:36px 0 22px; flex-wrap:wrap;}
.hm-kicker{font:700 11px var(--mono); letter-spacing:.12em; color:var(--tx2);}
.hm-title{font-size:clamp(44px,7vw,64px); font-weight:900; line-height:.95; letter-spacing:-.03em; margin-top:6px;}
.hm-dot{color:var(--purple);}
.hm-summary{color:var(--tx2); font-size:15px; margin-top:10px; max-width:520px;}
.hm-summary b{font-family:var(--mono); font-weight:800;}
.hm-summary .pos,.hm-pnl-big.pos,.hm-streak .pos,.hm-best .pos,.hm-tip .pos,.hm-stats .v.pos{color:var(--green);}
.hm-summary .neg,.hm-pnl-big.neg,.hm-streak .neg,.hm-tip .neg,.hm-stats .v.neg{color:var(--red);}
.hm-sync{display:flex; align-items:center; gap:14px; padding:10px 10px 10px 16px; background:var(--surf); border:1px solid var(--border); border-radius:14px; max-width:420px;}
.hm-sync:empty{display:none;}
.hm-sync-txt{display:flex; flex-direction:column; gap:2px; min-width:0;}
.hm-sync-txt b{font-size:13px; display:flex; align-items:center; gap:8px;}
.hm-sync-txt span{font-size:12px; color:var(--tx2);}
.hm-live{width:8px; height:8px; border-radius:50%; background:var(--green); flex-shrink:0; animation:rdPulse 2s infinite;}
.hm-live.err{background:var(--gold); animation:none;}
.hm-btn{min-height:40px; padding:0 16px; border-radius:10px; font-size:12px; font-weight:800; letter-spacing:.03em; background:var(--surf2); border:1px solid var(--border); color:var(--tx); white-space:nowrap; flex-shrink:0;}
.hm-btn:hover{border-color:rgba(192,158,255,.55);}
.hm-btn.primary{background:var(--tx); color:#000; border-color:var(--tx);}
.hm-btn.primary:hover{background:var(--purple); border-color:var(--purple);}
.hm-btn:focus-visible,.hm-link:focus-visible,.hm-periods button:focus-visible,.hm-radar-row:focus-visible{outline:2px solid var(--purple); outline-offset:2px;}

.hm-top{display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:16px; align-items:stretch;}
.hm-panel{background:linear-gradient(160deg,var(--surf2),var(--surf) 60%); border:1px solid var(--border); border-radius:18px; padding:20px;}
.hm-label{font:700 10px var(--mono); letter-spacing:.12em; color:var(--tx2);}
.hm-label.gold{color:var(--gold);}
.hm-pnl{position:relative; overflow:hidden;}
.hm-pnl-head{display:flex; align-items:center; justify-content:space-between; gap:12px;}
.hm-periods{display:flex; gap:2px; background:var(--surf2); border:1px solid var(--border); border-radius:10px; padding:3px;}
.hm-periods button{min-width:44px; min-height:32px; padding:0 10px; border-radius:7px; font:700 12px var(--mono); color:var(--tx2);}
.hm-periods button.on{background:var(--tx); color:#000;}
.hm-pnl-big{font-family:var(--mono); font-weight:800; font-size:clamp(36px,5.6vw,56px); line-height:1.05; letter-spacing:-.02em; margin-top:16px; overflow-wrap:anywhere;}
.hm-pnl-sub{font-size:13px; color:var(--tx2); margin-top:6px;}
.hm-curve{position:relative; height:150px; margin:16px -4px 14px; touch-action:pan-y; cursor:crosshair;}
.hm-curve.flat{height:24px;}
.hm-curve svg{display:block; overflow:visible;}
.hm-tip{position:absolute; top:-6px; transform:translate(-50%,-100%); background:#0B0B10; border:1px solid var(--border); border-radius:8px; padding:6px 9px; font-size:11px; white-space:nowrap; pointer-events:none; display:flex; flex-direction:column; gap:2px; z-index:2;}
.hm-tip b{font:800 13px var(--mono);}
.hm-tip span{color:var(--tx2);}
.hm-cursor{position:absolute; width:12px; height:12px; margin:-6px 0 0 -6px; border-radius:50%; background:var(--tx); border:3px solid #0B0B10; box-shadow:0 0 0 1px var(--border); pointer-events:none;}
.hm-stats{grid-template-columns:repeat(4,1fr); margin-top:0; border-radius:12px;}
.hm-stats .stat{padding:12px 14px;}
.hm-stats .v{font-size:17px;}
.hm-stats .s{font-size:11px; color:var(--tx2); margin-top:3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.hm-empty{padding:8px 0 4px;}
.hm-empty b{display:block; font-size:22px; font-weight:900; line-height:1.15;}
.hm-empty p{color:var(--tx2); font-size:14px; line-height:1.5; margin:10px 0 18px; max-width:480px;}
.hm-empty-actions{display:flex; gap:8px; flex-wrap:wrap;}

.hm-side{display:flex; flex-direction:column; gap:12px; min-width:0;}
.hm-side .levelbar{margin-top:0; display:grid; grid-template-columns:1fr auto; grid-template-areas:"id xp" "track track"; gap:12px 10px; padding:16px; border-radius:18px;}
.hm-side .levelbar .lvl-id{grid-area:id; flex-direction:row; align-items:baseline; gap:10px;}
.hm-side .levelbar .lvl{font-size:15px;}
.hm-side .levelbar .lvl-title{font-size:11px;}
.hm-side .levelbar .track{grid-area:track; height:8px; border-radius:4px;}
.hm-side .levelbar .xp{grid-area:xp; align-self:center;}
.hm-side .lvl-detail{margin-top:-4px;}
.hm-goal{margin:0; padding:16px 18px;}
.hm-goal .goal-amounts{font-size:22px; font-weight:800;}
.hm-goal-of{font:600 12px var(--mono); color:var(--tx2); margin-top:2px;}
.hm-link{margin-top:10px; font-size:12px; font-weight:700; color:var(--purple); padding:4px 0; position:relative;}
.hm-link:hover{text-decoration:underline;}
.hm-streak{padding:16px 18px; flex:1; display:flex; flex-direction:column; justify-content:center;}
.hm-streak-main{display:flex; align-items:baseline; gap:8px; margin-top:8px; flex-wrap:wrap;}
.hm-streak-main b{font:800 20px var(--mono);}
.hm-streak-main span{font-size:12px; color:var(--tx2);}
.hm-dots{display:flex; gap:5px; margin-top:12px; flex-wrap:wrap;}
.hm-dots i{width:14px; height:14px; border-radius:4px;}
.hm-dots i.w{background:var(--green); box-shadow:0 0 10px rgba(61,255,160,.35);}
.hm-dots i.l{background:rgba(255,92,108,.55);}

.hm-best{display:grid; grid-template-columns:240px minmax(0,1fr); gap:24px; align-items:center; margin-top:16px; padding:20px; border-radius:18px;
  background:radial-gradient(circle at 0% 50%, rgba(255,211,92,.10), transparent 55%), linear-gradient(160deg,var(--surf2),var(--surf) 60%); border:1px solid rgba(255,211,92,.28);}
.hm-best-card.grid{display:block;}
.hm-best-card .card{transform:rotate(-2deg);}
.hm-best-pnl{font:800 clamp(30px,4.4vw,44px) var(--mono); margin-top:8px; letter-spacing:-.02em;}
.hm-best-sub{font-size:13px; color:var(--tx2); margin-top:4px; font-family:var(--mono);}
.hm-best-info p{color:var(--tx2); font-size:14px; margin:14px 0 16px;}
.hm-best-actions{display:flex; gap:8px; flex-wrap:wrap;}

.hm-sh{margin-top:36px;}
.hm-radar{margin:28px 0 64px;}
.hm-radar-head{display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;}
.hm-radar-head b{display:block; font-size:15px; margin-top:4px;}
.hm-radar-list{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:14px;}
.hm-radar-row{display:flex; align-items:center; gap:10px; padding:10px 10px 10px 12px; border-radius:12px; background:var(--surf); border:1px solid var(--border); text-align:left; min-width:0;}
.hm-radar-row:hover{border-color:rgba(192,158,255,.5);}
.hm-radar-tk{display:flex; flex-direction:column; gap:2px; flex:1; min-width:0;}
.hm-radar-tk b{font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.hm-radar-tk small{font:600 11px var(--mono); color:var(--tx2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.hm-radar-ch{display:flex; flex-direction:column; align-items:flex-end; font:700 13px var(--mono);}
.hm-radar-ch small{font-size:10px; color:var(--tx2); font-weight:600;}
.hm-radar-ch .pos{color:var(--green);} .hm-radar-ch .neg{color:var(--red);}
.hm-radar .radar-score{min-width:50px; height:42px;}
.hm-radar .radar-score b{font-size:16px;}
.hm-radar-note{font-size:11px; color:var(--tx2); margin-top:10px;}

@media(max-width:960px){
  .hm-top{grid-template-columns:1fr;}
  .hm-side{display:grid; grid-template-columns:1fr 1fr; align-items:stretch;}
  .hm-side .lvl-detail{grid-column:1/-1; margin-top:0;}
  .hm-streak{grid-column:1/-1;}
  .hm-radar-list{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .hm-head{padding-top:24px;}
  .hm-sync{max-width:none; width:100%;}
  .hm-sync-txt{flex:1;}
  .hm-side{grid-template-columns:1fr;}
  .hm-panel{padding:16px; border-radius:16px;}
  .hm-curve{height:120px;}
  .hm-stats{grid-template-columns:repeat(2,1fr);}
  .hm-best{grid-template-columns:1fr; gap:16px; padding:16px; text-align:left;}
  .hm-best-card{max-width:230px; margin:0 auto;}
  .hm-recent.grid{display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:10px; margin:0 -20px; padding:4px 20px 12px; scrollbar-width:none;}
  .hm-recent.grid::-webkit-scrollbar{display:none;}
  .hm-recent .card{flex:0 0 64%; scroll-snap-align:start;}
  .hm-radar{margin-bottom:110px;}
}
@media(prefers-reduced-motion:reduce){.hm-live{animation:none;}}

/* ---------- PAGES v2: shared header + tools ---------- */
.pg-head{display:flex; align-items:flex-end; justify-content:space-between; gap:16px; padding:36px 0 20px; flex-wrap:wrap;}
.pg-title{font-size:clamp(34px,5.4vw,52px); font-weight:900; line-height:1; letter-spacing:-.03em; margin-top:6px;}
.pg-title .pg-of{color:var(--tx2); font-weight:800;}
.pg-head .hm-summary b{font-family:var(--mono); font-weight:800;}
.hm-summary .pos,.hm-summary b.pos{color:var(--green);} .hm-summary .neg,.hm-summary b.neg{color:var(--red);}
.pg-tools{display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin:0 0 16px;}
.pg-tools .rd-search{flex:1 1 220px; max-width:360px;}
.pg-tools .chip{min-height:36px; padding:0 14px; border-radius:9px;}
.pg-tools .sortsel{min-height:38px; border-radius:9px;}

/* collection: rarity bar */
.col-rarity{margin:-4px 0 16px;}
.cr-bar{display:flex; gap:3px; height:10px; border-radius:6px; overflow:hidden;}
.cr-bar i{display:block; min-width:6px;}
.cr-legend{display:flex; gap:6px; flex-wrap:wrap; margin-top:10px;}
.cr-chip{display:inline-flex; align-items:center; gap:7px; min-height:34px; padding:0 12px; border-radius:999px; background:var(--surf); border:1px solid var(--border); font:700 11px var(--mono); letter-spacing:.04em; color:var(--tx2);}
.cr-chip i{width:9px; height:9px; border-radius:50%; background:var(--rc);}
.cr-chip em{font-style:normal; color:var(--tx);}
.cr-chip:hover:not(:disabled){border-color:var(--rc); color:var(--tx);}
.cr-chip.on{border-color:var(--rc); color:var(--tx); background:color-mix(in srgb, var(--rc) 14%, var(--surf));}
.cr-chip:disabled{opacity:.35; cursor:default;}
.cr-chip:focus-visible{outline:2px solid var(--purple); outline-offset:2px;}

/* history: table grouped by day */
.hist-head{display:none;}
.hist-bar{display:flex; gap:8px; align-items:center;}
.hist-bar .hbtn{min-height:38px; padding:0 14px;}
.hist-wrap{border:1px solid var(--border); border-radius:16px; overflow:hidden; background:var(--surf); margin-bottom:60px;}
.hist-table{width:100%; border-collapse:collapse; font-family:var(--mono); font-size:12.5px;}
.hist-table thead th{background:var(--surf2); text-align:left; color:var(--tx2); font:700 10px var(--mono); letter-spacing:.08em; padding:11px 12px; position:sticky; top:0; z-index:1;}
.hist-table th.num,.hist-table td.num{text-align:right;}
.hist-table td{padding:10px 12px; color:var(--tx2); white-space:nowrap;}
.hist-row{border-top:1px solid rgba(255,255,255,.06); cursor:pointer; transition:background .12s;}
.hist-row:hover{background:rgba(255,255,255,.03);}
.hist-row:focus-visible{outline:2px solid var(--purple); outline-offset:-2px;}
.hist-row.is-sel{background:rgba(192,158,255,.10);}
.hist-row .h-coin{color:var(--tx); font-weight:700;}
.hist-row td.pos{color:var(--green); font-weight:700;} .hist-row td.neg{color:var(--red); font-weight:700;}
.hist-day td{padding:16px 12px 8px; background:var(--bg); border-top:1px solid var(--border);}
.hist-day:first-child td{border-top:none;}
.hist-day td{display:table-cell;}
.hist-day span{font:800 11px var(--mono); letter-spacing:.1em; color:var(--tx);}
.hist-day em{font:600 11px var(--mono); font-style:normal; color:var(--tx2); margin-left:10px;}
.hist-day b{float:right; font:800 12px var(--mono);}
.hist-day b.pos{color:var(--green);} .hist-day b.neg{color:var(--red);}
.h-rar{display:inline-flex; align-items:center; gap:6px; text-transform:uppercase; font-size:10.5px; letter-spacing:.04em; color:var(--rc);}
.h-rar::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--rc);}
.h-src{text-transform:uppercase; font-size:10.5px;}
.hist-del{display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:8px;}
.hist-del:hover{background:rgba(255,92,108,.12);}
.hist-none{padding:28px !important; text-align:center; white-space:normal !important;}
@media(max-width:760px){
  .hist-table thead{display:none;}
  .hist-table, .hist-table tbody{display:block;}
  .hist-row{display:grid; grid-template-columns:auto 1fr auto; grid-template-areas:"sel coin pnl" "sel meta roi"; align-items:center; column-gap:10px; padding:10px 12px;}
  .hist-row td{padding:0; display:block;}
  .hist-row .sel-cell{grid-area:sel;} .hist-row .h-coin{grid-area:coin;} .hist-row .h-pnl{grid-area:pnl;} .hist-row .h-roi{grid-area:roi; font-size:11px;}
  .hist-row .h-time{grid-area:meta; font-size:11px; padding-left:34px;}
  .hist-row .h-entry,.hist-row .h-exit,.hist-row .h-card,.hist-row .h-src{display:none;}
  .hist-row .h-hold{display:none;}
  .hist-row .h-del{display:none;}
  .hist-row .sel-cell:empty{display:none;}
  .hist-row:has(.sel-cell:empty){grid-template-columns:1fr auto; grid-template-areas:"coin pnl" "meta roi";}
  .hist-day{display:block;} .hist-day td{display:block; padding:14px 12px 6px;}
}

/* achievements header */
#achievementsView .ach-summary{margin-top:0;}

/* stats */
.st-top{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; align-items:stretch;}
.st-goal{margin:0; display:flex; flex-direction:column;}
.st-goal .goal-amounts{font-size:30px; font-weight:800;}
.st-pace{font-size:13px; color:var(--tx2); margin-top:14px; line-height:1.5;}
.st-pace b{color:var(--tx); font-family:var(--mono);}
.st-pace b.pos{color:var(--green);}
.st-goal .goal-editrow{margin-top:auto; padding-top:16px;}
.st-goal .goal-editrow input,.st-goal .goal-editrow button{min-height:42px;}
.st-cal{padding:18px;}
.cal-head b{display:block; font-size:14px; margin-top:4px;}
.cal-wk,.cal-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:5px;}
.cal-wk{margin:14px 0 6px;}
.cal-wk span{font:700 10px var(--mono); color:var(--tx2); text-align:center;}
.cal-d{position:relative; aspect-ratio:1/0.66; border-radius:8px; background:var(--surf2); display:flex; flex-direction:column; justify-content:space-between; padding:5px 6px; min-width:0; overflow:hidden;}
.cal-d b{font:700 10px var(--mono); color:var(--tx2);}
.cal-d em{font:800 10px var(--mono); font-style:normal; color:#05070a; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.cal-d[style*="background"] b{color:rgba(5,7,10,.7);}
.cal-d.fut{opacity:.35;}
.cal-d.today{box-shadow:inset 0 0 0 2px var(--tx);}
.cal-pad{display:block;}
.st-grid{grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:12px;}
.st-tile{position:relative; text-align:left; padding:16px; border-radius:16px; background:linear-gradient(160deg,var(--surf2),var(--surf) 70%); border:1px solid var(--border); min-width:0;}
.stats-3.st-grid > div{background:linear-gradient(160deg,var(--surf2),var(--surf) 70%);}
.st-tile .st-ic{position:absolute; top:14px; right:14px; color:var(--purple); opacity:.8;}
.st-tile .l{font-size:11px; color:var(--tx2); font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding-right:26px;}
.st-tile .v{font:800 22px var(--mono); margin-top:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.st-tile .v.pos{color:var(--green);} .st-tile .v.neg{color:var(--red);}
.st-tile.stat-locked{opacity:1; color:var(--tx2); cursor:pointer; border-style:dashed;}
.st-tile.stat-locked .pro-tag{position:absolute; top:14px; right:14px;}
.st-tile.stat-locked .v{color:var(--tx2); letter-spacing:.2em;}
.st-tile.stat-locked:hover{border-color:rgba(255,210,90,.6);}
#statsView .pro-cta{margin-bottom:60px;}
#statsView .sectionhead{margin-top:28px;}

/* account */
.acc-head{align-items:center;}
.acc-id{display:flex; align-items:center; gap:18px; min-width:0;}
.acc-av{width:72px; height:72px; border-radius:22px; flex-shrink:0; display:flex; align-items:center; justify-content:center; font:900 32px var(--font); color:#05070a; background:linear-gradient(135deg,var(--purple),var(--gold));}
.acc-name{font-size:clamp(22px,3.6vw,34px); letter-spacing:-.02em; overflow-wrap:anywhere;}
.acc-head .btn-logout{min-height:40px;}
.acc-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:start; margin-bottom:110px;}
.acc-grid .acc-block{margin:0; border-radius:18px; padding:20px; background:linear-gradient(160deg,var(--surf2),var(--surf) 60%);}
.acc-wide{grid-column:1/-1;}
.acc-cols{grid-column:1/-1; columns:2; column-gap:16px;}
.acc-cols > .acc-block{break-inside:avoid; display:inline-block; width:100%; margin:0 0 16px;}
.acc-block h4{font:800 11px var(--mono); letter-spacing:.1em; color:var(--tx2);}
.acc-desc{font-size:13px; color:var(--tx2); line-height:1.5; margin:-4px 0 6px; max-width:640px;}
.acc-wrap{white-space:normal;}
.acc-grid .btn-connect,.acc-grid .btn-logout{min-height:38px;}
@media(max-width:860px){
  .st-top{grid-template-columns:1fr;}
  .st-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .acc-grid{grid-template-columns:1fr;}
  .acc-cols{columns:1;}
}
@media(max-width:640px){
  .pg-head{padding-top:24px;}
  .pg-tools .rd-search{max-width:none; flex-basis:100%;}
  .acc-av{width:56px; height:56px; border-radius:16px; font-size:24px;}
  .acc-head .btn-logout{width:100%;}
  .st-tile .v{font-size:19px;}
}
.st-tile .l,.st-tile .v,.detail-stats.st-grid .st-tile div{background:none; border-radius:0; padding:0;}
.st-tile .l{padding-right:26px;}
.st-month{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:12px; overflow:hidden; margin-top:16px;}
.st-month div{background:var(--surf); padding:10px 12px; display:flex; flex-direction:column; gap:4px;}
.st-month span{font:700 10px var(--mono); letter-spacing:.08em; color:var(--tx2);}
.st-month b{font:800 16px var(--mono);}
.st-month b.pos{color:var(--green);} .st-month b.neg{color:var(--red);}
.st-cal{display:flex; flex-direction:column;}
.cal-d.dn em,.cal-d.dn b{color:#fff;}
.cal-d.dn b{opacity:.75;}
.acc-grid > *,.st-top > *{min-width:0;}
.acc-block{min-width:0;}
@media(max-width:640px){
  .cal-d em{display:none;}
  .cal-d{aspect-ratio:1/0.8; padding:4px 5px;}
}

/* ---------- GAMIFICATION: profile chip, quests, streak fire, level-up, username, ranks ---------- */
.profile-chip{gap:9px; padding:4px 12px 4px 4px; min-height:40px; transition:border-color .15s;}
.profile-chip:hover{border-color:rgba(192,158,255,.55);}
.profile-chip:focus-visible{outline:2px solid var(--purple); outline-offset:2px;}
.av-ring{--xp:0%; width:32px; height:32px; border-radius:50%; padding:3px; flex-shrink:0; display:flex; background:conic-gradient(var(--gold) var(--xp), rgba(255,255,255,.12) 0);}
.av-ring .av{width:100%; height:100%; box-shadow:0 0 0 2px var(--surf2);}
.profile-chip .av-ring .av{width:100%; height:100%;}
.pc-txt{display:flex; flex-direction:column; line-height:1.15; min-width:0;}
.pc-name{font-size:12px; font-weight:800; max-width:130px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.pc-lvl{font-size:11px; color:var(--tx2);}
@media(max-width:520px){ .pc-name{display:none;} .profile-chip{padding-right:10px;} }

.hm-claim{display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:16px; padding:16px 16px 16px 20px; border-radius:18px; flex-wrap:wrap;
  background:radial-gradient(circle at 0% 50%, rgba(192,158,255,.16), transparent 60%), linear-gradient(160deg,var(--surf2),var(--surf) 60%); border:1px solid rgba(192,158,255,.4);}
.hm-claim-txt{display:flex; flex-direction:column; gap:3px; min-width:0; flex:1 1 260px;}
.hm-claim-txt b{font-size:16px; font-weight:900;}
.hm-claim-txt span{font-size:13px; color:var(--tx2);}

.hm-quests{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:16px;}
.hm-quests:empty{display:none;}
.q-panel{padding:18px 20px 8px; min-width:0;}
.q-head{display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:6px;}
.q-head b{display:block; font:800 14px var(--mono); margin-top:5px;}
.q-reset{font:600 11px var(--mono); color:var(--tx2); white-space:nowrap; padding-top:1px;}
.q-row{display:flex; gap:12px; padding:12px 0; border-top:1px solid rgba(255,255,255,.06);}
.q-ic{width:36px; height:36px; border-radius:11px; flex-shrink:0; display:flex; align-items:center; justify-content:center; background:var(--surf2); border:1px solid var(--border); color:var(--purple);}
.q-body{flex:1; min-width:0;}
.q-top{display:flex; align-items:baseline; justify-content:space-between; gap:10px;}
.q-top b{font-size:14px; font-weight:800;}
.q-top em{font:800 11px var(--mono); font-style:normal; color:var(--gold); white-space:nowrap;}
.q-d{display:block; font-size:12px; color:var(--tx2); margin-top:2px;}
.q-bar{height:6px; border-radius:3px; background:var(--surf2); overflow:hidden; margin-top:9px;}
.q-bar i{display:block; height:100%; border-radius:3px; background:linear-gradient(90deg,var(--purple),var(--gold)); transition:width .5s ease;}
.q-lab{display:block; font:600 11px var(--mono); color:var(--tx2); margin-top:5px;}
.q-row.done .q-ic{background:rgba(61,255,160,.12); border-color:rgba(61,255,160,.4); color:var(--green);}
.q-row.done .q-bar i{background:var(--green);}
.q-row.done .q-lab,.q-row.done .q-top em{color:var(--green);}
.q-row.done .q-d,.q-row.done .q-bar{display:none;}
.q-row.done{align-items:center;}
.q-row.done .q-lab{margin-top:2px;}
#rkLead{max-width:640px;}
.rk-pod span em{font-style:normal;}

.hm-streak-top{display:flex; align-items:center; justify-content:space-between; gap:8px;}
.hm-fire{display:inline-flex; align-items:center; gap:5px; padding:4px 9px 4px 7px; border-radius:999px; font:800 11px var(--mono); letter-spacing:.04em; color:#FF9F43; background:rgba(255,159,67,.12); border:1px solid rgba(255,159,67,.4);}
.hm-fire.cold{color:var(--tx2); background:var(--surf2); border-color:var(--border);}
.hm-streak-warn{font-size:12px; color:var(--gold); margin-top:8px; line-height:1.4;}

.lvl-burst{width:108px; height:108px; border-radius:50%; margin:6px auto 14px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;
  background:radial-gradient(circle, rgba(192,158,255,.32), rgba(255,211,92,.06) 72%); border:2px solid var(--gold); animation:goalPulse 2.2s ease-in-out infinite;}
.lvl-burst b{font:900 42px var(--mono); line-height:1; color:var(--gold);}
.lvl-burst span{font:800 10px var(--mono); letter-spacing:.24em; color:var(--tx2);}
.lvl-title-big{font-size:30px; font-weight:900; letter-spacing:-.01em; line-height:1.05; background:linear-gradient(90deg,var(--purple),var(--gold)); -webkit-background-clip:text; background-clip:text; color:transparent;}
.lvl-gain{display:inline-block; margin-top:10px; padding:4px 11px; border-radius:999px; font:800 13px var(--mono); color:var(--green); background:rgba(61,255,160,.1); border:1px solid rgba(61,255,160,.3);}
.lvl-next{font-size:13px; color:var(--tx2); margin:12px 0 18px;}
.lvl-next b{color:var(--tx);}
@media(prefers-reduced-motion:reduce){ .lvl-burst{animation:none;} }

.user-modal h3{padding-right:36px;}
.user-p{font-size:13px; color:var(--tx2); line-height:1.5; margin:-6px 0 16px;}
.user-field{display:flex; align-items:center; min-height:54px; padding:0 14px; border-radius:12px; background:var(--surf2); border:1px solid var(--border); cursor:text;}
.user-field:focus-within{border-color:var(--purple); box-shadow:0 0 0 3px rgba(192,158,255,.18);}
.user-field span{font:800 19px var(--mono); color:var(--purple);}
.user-field input{flex:1; min-width:0; background:none; border:none; outline:none; color:var(--tx); font:700 19px var(--mono); padding:12px 4px;}
.user-field input::placeholder{color:rgba(173,173,184,.45);}
.user-hint{font-size:12px; color:var(--tx2); margin-top:8px; min-height:17px;}
.user-hint.ok{color:var(--green);} .user-hint.bad{color:var(--red);}
.user-check{display:flex; align-items:flex-start; gap:10px; margin-top:16px; font-size:12px; line-height:1.45; color:var(--tx2); cursor:pointer;}
.user-check input{flex:none; width:18px; height:18px; margin-top:1px; accent-color:var(--purple);}
.user-check b{color:var(--tx);}
#userSave:disabled{opacity:.6; cursor:default;}

.tgl{position:relative; display:inline-flex; flex-shrink:0; cursor:pointer;}
.tgl input{position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; z-index:1;}
.tgl i{position:relative; width:48px; height:28px; border-radius:999px; background:var(--surf2); border:1px solid var(--border); transition:background .2s, border-color .2s;}
.tgl i::after{content:""; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%; background:var(--tx2); transition:transform .2s, background .2s;}
.tgl input:checked + i{background:var(--green); border-color:var(--green);}
.tgl input:checked + i::after{transform:translateX(20px); background:#05070a;}
.tgl input:focus-visible + i{outline:2px solid var(--purple); outline-offset:2px;}

.rk-me{margin-bottom:16px;}
.rk-me:empty{display:none;}
.rk-cta{display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; border-color:rgba(192,158,255,.4);}
.rk-cta > div{flex:1 1 260px; min-width:0;}
.rk-cta b{display:block; font-size:15px; font-weight:800; overflow-wrap:anywhere;}
.rk-cta span{display:block; font-size:13px; color:var(--tx2); margin-top:4px;}
.rk-you{display:flex; align-items:center; gap:16px; border-color:rgba(255,211,92,.45); background:radial-gradient(circle at 0% 50%, rgba(255,211,92,.12), transparent 55%), linear-gradient(160deg,var(--surf2),var(--surf) 60%);}
.rk-you-rank{font:900 34px var(--mono); color:var(--gold); min-width:66px; letter-spacing:-.02em;}
.rk-you > div:nth-child(2){flex:1; min-width:0;}
.rk-you b{display:block; font-size:16px; font-weight:800; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.rk-you span{display:block; font:600 12px var(--mono); color:var(--tx2); margin-top:3px;}
.rk-you-pnl{font:800 22px var(--mono); white-space:nowrap;}
.rk-you-pnl.pos,.rk-pod-pnl.pos,.rk-row .pos{color:var(--green);}
.rk-you-pnl.neg,.rk-pod-pnl.neg,.rk-row .neg{color:var(--red);}

.rk-podium{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; align-items:end; margin-bottom:16px;}
.rk-podium:empty{display:none;}
.rk-pod{--mc:var(--gold); position:relative; min-width:0; text-align:center; padding:22px 12px 16px; border-radius:18px;
  background:linear-gradient(180deg, color-mix(in srgb, var(--mc) 16%, var(--surf2)), var(--surf) 72%); border:1px solid color-mix(in srgb, var(--mc) 45%, transparent);}
.rk-gold{order:2; padding-top:34px;}
.rk-silver{--mc:#C9D2E0; order:1;}
.rk-bronze{--mc:#E09A5F; order:3;}
.rk-pod.me{box-shadow:0 0 0 2px var(--purple);}
.rk-pod-rank{position:absolute; top:10px; left:12px; font:900 14px var(--mono); color:var(--mc);}
.rk-pod-av{width:54px; height:54px; border-radius:50%; margin:0 auto 10px; display:flex; align-items:center; justify-content:center; font:900 22px var(--font); color:#05070a; background:var(--mc); box-shadow:0 0 0 4px color-mix(in srgb, var(--mc) 22%, transparent);}
.rk-gold .rk-pod-av{width:68px; height:68px; font-size:28px; box-shadow:0 0 0 5px rgba(255,211,92,.22), 0 0 30px rgba(255,211,92,.35);}
.rk-pod b{display:block; font-size:14px; font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.rk-pod-pnl{font:800 20px var(--mono); margin-top:6px; white-space:nowrap;}
.rk-pod span{display:block; font:600 11px var(--mono); color:var(--tx2); margin-top:4px;}

.rk-list{padding:4px 0; overflow:hidden;}
.rk-row{display:grid; grid-template-columns:44px minmax(0,1.6fr) 70px 84px 84px minmax(0,1fr); gap:10px; align-items:center; padding:11px 20px; border-top:1px solid rgba(255,255,255,.06); font:600 13px var(--mono); color:var(--tx2);}
.rk-row:first-child{border-top:none;}
.rk-h{font:700 10px var(--mono); letter-spacing:.1em; padding-top:12px; padding-bottom:10px;}
.rk-row .num{text-align:right; font-weight:800; white-space:nowrap;}
.rk-n{color:var(--tx); font-weight:800;}
.rk-u{display:flex; align-items:center; gap:10px; min-width:0; color:var(--tx); font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.rk-u i{width:28px; height:28px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; font:800 12px var(--font); font-style:normal; color:#05070a; background:linear-gradient(135deg,var(--purple),var(--gold));}
.rk-row.me{background:rgba(192,158,255,.10); box-shadow:inset 3px 0 0 var(--purple);}
.rk-empty{display:flex; flex-direction:column; align-items:center; gap:8px; padding:30px 20px; text-align:center; font-size:13px; color:var(--tx2);}
.rk-empty b{font-size:15px; color:var(--tx);}

.rk-xp{font:700 12px var(--mono); color:var(--gold);}
.rk-ladder{display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin-bottom:64px;}
.rk-step{display:flex; flex-direction:column; gap:4px; min-width:0; padding:14px; border-radius:14px; background:var(--surf); border:1px dashed var(--border); opacity:.6;}
.rk-step.got{opacity:1; border-style:solid;}
.rk-step.here{border-color:var(--gold); background:linear-gradient(160deg, rgba(255,211,92,.14), var(--surf) 70%); box-shadow:0 0 26px -10px rgba(255,211,92,.6);}
.rk-step-l{font:700 10px var(--mono); letter-spacing:.1em; color:var(--tx2);}
.rk-step b{font-size:14px; font-weight:900; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.rk-step em{font:600 11px var(--mono); font-style:normal; color:var(--tx2);}
.rk-step.got em{color:var(--green);}
.rk-step.here em{color:var(--gold);}

@media(max-width:960px){
  .hm-quests{grid-template-columns:1fr;}
  .rk-ladder{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media(max-width:640px){
  .hm-claim{padding:16px;}
  .hm-claim .hm-btn{width:100%;}
  .q-panel{padding:16px 16px 6px;}
  .rk-cta .hm-btn{width:100%;}
  .rk-you{gap:12px; flex-wrap:wrap;}
  .rk-you-rank{font-size:28px; min-width:0;}
  .rk-you-pnl{font-size:18px;}
  .rk-podium{gap:8px;}
  .rk-pod{padding:18px 8px 12px; border-radius:14px;}
  .rk-gold{padding-top:26px;}
  .rk-pod-av{width:42px; height:42px; font-size:18px;}
  .rk-gold .rk-pod-av{width:52px; height:52px; font-size:22px;}
  .rk-pod b{font-size:12px;}
  .rk-pod-pnl{font-size:14px;}
  .rk-pod span{font-size:10px;}
  .rk-row{grid-template-columns:30px minmax(0,1fr) auto; padding:11px 14px;}
  .rk-row > :nth-child(3),.rk-row > :nth-child(4),.rk-row > :nth-child(5){display:none;}
  .rk-ladder{grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:110px;}
  .rk-step{padding:12px;}
  .rk-pod span em{display:none;}
}

/* ---------- RANKS v2: visual podium ---------- */
.rk-podium{display:block; margin:8px 0 16px;}
.rk-stage{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:end; gap:0; padding:30px 8px 0; border-radius:22px 22px 0 0;
  background:radial-gradient(ellipse at 50% 100%, rgba(255,211,92,.16), transparent 65%);}
.rk-pod{--mc:var(--gold); background:none; border:none; padding:0; border-radius:0; text-align:center; display:flex; flex-direction:column; min-width:0;}
.rk-gold{order:2; padding:0;} .rk-silver{--mc:#C9D2E0; order:1;} .rk-bronze{--mc:#E09A5F; order:3;}
.rk-pod.me{box-shadow:none;} .rk-pod.me .rk-pod-av{outline:3px solid var(--purple); outline-offset:3px;}
.rk-pod-top{position:relative; padding:0 8px 14px; min-width:0; animation:rkRise .7s cubic-bezier(.2,1.3,.4,1) both;}
.rk-silver .rk-pod-top{animation-delay:.15s;} .rk-bronze .rk-pod-top{animation-delay:.3s;}
.rk-pod-av,.rk-av{display:flex; align-items:center; justify-content:center; border-radius:50%; font-family:var(--font); font-weight:900; color:#05070a; background:linear-gradient(135deg,hsl(var(--h) 85% 72%),hsl(calc(var(--h) + 50) 90% 60%));}
.rk-pod-av{width:72px; height:72px; margin:0 auto 10px; font-size:28px; box-shadow:0 0 0 4px var(--mc), 0 12px 30px -8px color-mix(in srgb, var(--mc) 60%, transparent);}
.rk-gold .rk-pod-av{width:96px; height:96px; font-size:38px; box-shadow:0 0 0 5px var(--gold), 0 0 50px rgba(255,211,92,.45);}
.rk-crown{display:block; width:44px; height:44px; margin:-8px auto 2px; fill:var(--gold); filter:drop-shadow(0 0 12px rgba(255,211,92,.7)); transform:rotate(-8deg);}
.rk-pod-pnl{font-size:22px;} .rk-gold .rk-pod-pnl{font-size:28px;}
.rk-gold b{font-size:16px;}
.rk-block{position:relative; border-radius:14px 14px 0 0; display:flex; justify-content:center; padding-top:14px; overflow:hidden;
  background:linear-gradient(180deg, color-mix(in srgb, var(--mc) 55%, #15151c), color-mix(in srgb, var(--mc) 12%, #0d0d12) 85%);
  border:1px solid color-mix(in srgb, var(--mc) 70%, transparent); border-bottom:none; transform-origin:bottom; animation:rkGrow .6s cubic-bezier(.3,1.2,.4,1) both;}
.rk-block::before{content:""; position:absolute; inset:0 0 auto; height:10px; background:color-mix(in srgb, var(--mc) 85%, #fff); opacity:.75;}
.rk-block i{font:900 64px var(--mono); font-style:normal; color:rgba(5,7,10,.55); line-height:1; margin-top:10px; text-shadow:0 1px 0 rgba(255,255,255,.25);}
.rk-gold .rk-block{height:170px; margin:0 -1px;} .rk-silver .rk-block{height:120px; border-top-right-radius:0; animation-delay:.1s;} .rk-bronze .rk-block{height:90px; border-top-left-radius:0; animation-delay:.2s;}
.rk-gold .rk-block i{font-size:84px;}
.rk-gold .rk-block::after{content:""; position:absolute; top:0; bottom:0; width:40%; left:-60%; background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent); animation:rkShine 3.5s 1s ease-in-out infinite;}
@keyframes rkGrow{from{transform:scaleY(0);}to{transform:scaleY(1);}}
@keyframes rkRise{from{opacity:0; transform:translateY(30px) scale(.8);}to{opacity:1; transform:none;}}
@keyframes rkShine{0%,60%{left:-60%;}100%{left:130%;}}
.rk-row{position:relative; isolation:isolate;}
.rk-row:not(.rk-h)::before{content:""; position:absolute; left:0; top:6px; bottom:6px; width:var(--w); z-index:-1; border-radius:0 8px 8px 0; background:linear-gradient(90deg, rgba(61,255,160,.02), rgba(61,255,160,.13));}
.rk-row.lossbar::before{background:linear-gradient(90deg, rgba(255,92,108,.02), rgba(255,92,108,.13));}
.rk-av{width:30px; height:30px; flex-shrink:0; font-size:13px;}
.rk-top10{font:800 9px var(--mono); font-style:normal; letter-spacing:.06em; color:var(--gold); border:1px solid rgba(255,211,92,.45); border-radius:5px; padding:2px 5px;}
.rk-you{flex-wrap:wrap;}
.rk-gap{flex-basis:100%; display:flex; flex-direction:column; gap:6px; font:600 12px var(--mono); color:var(--tx2); padding-top:4px;}
.rk-gap .q-bar{margin:0;}
@media(max-width:640px){
  .rk-stage{padding:22px 0 0;}
  .rk-pod-top{padding:0 4px 10px;}
  .rk-pod-av{width:50px; height:50px; font-size:20px;} .rk-gold .rk-pod-av{width:66px; height:66px; font-size:26px;}
  .rk-crown{width:32px; height:32px;}
  .rk-pod-pnl{font-size:14px;} .rk-gold .rk-pod-pnl{font-size:17px;}
  .rk-pod b{font-size:11px;} .rk-gold b{font-size:12px;}
  .rk-gold .rk-block{height:120px;} .rk-silver .rk-block{height:86px;} .rk-bronze .rk-block{height:64px;}
  .rk-block i{font-size:40px;} .rk-gold .rk-block i{font-size:56px;}
  .rk-top10{display:none;}
}
@media(prefers-reduced-motion:reduce){ .rk-block,.rk-pod-top,.rk-gold .rk-block::after{animation:none;} }
.rk-stage{border-bottom:2px solid rgba(255,211,92,.35); margin-bottom:20px;}

/* profile picture (own UI only) */
.av.has-img,.acc-av.has-img{background:var(--av-img) center/cover no-repeat !important; color:transparent !important; font-size:0 !important;}
button.acc-av{border:0; cursor:pointer; position:relative; overflow:hidden; padding:0;}
button.acc-av::after{content:'EDIT'; position:absolute; inset:auto 0 0 0; padding:3px 0; font:800 9px var(--mono); letter-spacing:.1em; color:#fff; background:rgba(0,0,0,.55); opacity:0; transition:opacity .15s;}
button.acc-av:hover::after,button.acc-av:focus-visible::after{opacity:1;}
@media(hover:none){button.acc-av::after{opacity:1;}}
.acc-av.busy{opacity:.5; pointer-events:none;}
.acc-pic-btns{display:flex; gap:8px; flex-shrink:0;}
/* ---------- LAUNCH: coin launcher ---------- */
.ln-modes{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:16px;}
.ln-mode{display:flex; flex-direction:column; gap:8px; text-align:left; padding:18px 20px; border-radius:18px; background:linear-gradient(160deg,var(--surf2),var(--surf) 60%); border:1px solid var(--border); transition:border-color .15s, box-shadow .15s; min-width:0;}
.ln-mode:hover{border-color:rgba(192,158,255,.5);}
.ln-mode.on{border-color:var(--purple); box-shadow:0 0 0 1px var(--purple), 0 14px 40px -18px rgba(192,158,255,.6);}
.ln-mode:focus-visible{outline:2px solid var(--purple); outline-offset:2px;}
.ln-mode.soon{opacity:.55; cursor:not-allowed;}
.ln-mode-top{display:flex; align-items:center; justify-content:space-between; gap:10px;}
.ln-mode-top b{font-size:18px; font-weight:900;}
.ln-price{font:800 12px var(--mono); font-style:normal; padding:4px 9px; border-radius:999px; color:var(--gold); background:rgba(255,211,92,.12); border:1px solid rgba(255,211,92,.4); white-space:nowrap;}
.ln-price.free{color:var(--green); background:rgba(61,255,160,.1); border-color:rgba(61,255,160,.35);}
.ln-mode-d{font-size:13px; color:var(--tx2); line-height:1.5;}
.ln-mode-l{display:flex; flex-wrap:wrap; gap:6px;}
.ln-mode-l i{font:600 11px var(--mono); font-style:normal; color:var(--tx); background:var(--surf2); border:1px solid var(--border); border-radius:7px; padding:4px 8px;}
.ln-mode.on .ln-mode-l i{border-color:rgba(192,158,255,.35);}

.ln-grid{display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:16px; align-items:start; margin-bottom:8px;}
.ln-form{display:flex; flex-direction:column; gap:16px; padding:22px;}
.ln-id{display:flex; gap:16px; align-items:stretch;}
.ln-img{position:relative; width:120px; height:120px; flex-shrink:0; border-radius:22px; border:2px dashed var(--border); background:var(--surf2); display:flex; align-items:center; justify-content:center; cursor:pointer; overflow:hidden; transition:border-color .15s;}
.ln-img:hover,.ln-img.drag{border-color:var(--purple);}
.ln-img:focus-visible{outline:2px solid var(--purple); outline-offset:2px;}
.ln-img img{width:100%; height:100%; object-fit:cover;}
.ln-img-ph{display:flex; flex-direction:column; align-items:center; font-size:34px; font-weight:300; color:var(--tx2); line-height:1;}
.ln-img-ph small{font:700 10px var(--mono); letter-spacing:.1em; margin-top:6px; text-transform:uppercase;}
.ln-id-fields{flex:1; min-width:0; display:flex; flex-direction:column; gap:10px; justify-content:space-between;}
.ln-f{display:flex; flex-direction:column; gap:6px; min-width:0;}
.ln-f > span{font:700 11px var(--mono); letter-spacing:.06em; color:var(--tx2); text-transform:uppercase;}
.ln-f > span em{font-style:normal; font-weight:500; text-transform:none; letter-spacing:0; opacity:.7;}
.ln-f input,.ln-f textarea{width:100%; background:var(--surf2); border:1px solid var(--border); border-radius:11px; padding:11px 13px; color:var(--tx); font:500 15px var(--font); min-height:44px; resize:vertical;}
.ln-f input:focus,.ln-f textarea:focus{outline:none; border-color:var(--purple); box-shadow:0 0 0 3px rgba(192,158,255,.18);}
#lnSymbol{font-family:var(--mono); font-weight:800; letter-spacing:.04em;}
.ln-links{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px;}
.ln-amt{display:flex; align-items:center; background:var(--surf2); border:1px solid var(--border); border-radius:11px; padding-right:14px; max-width:260px;}
.ln-amt:focus-within{border-color:var(--purple); box-shadow:0 0 0 3px rgba(192,158,255,.18);}
.ln-amt input{border:none; background:none; box-shadow:none !important; font:800 18px var(--mono);}
.ln-amt b{font:800 13px var(--mono); color:var(--tx2);}
.ln-chips{display:flex; gap:6px; flex-wrap:wrap;}
.ln-chips button{min-width:48px; min-height:34px; padding:0 12px; border-radius:9px; background:var(--surf2); border:1px solid var(--border); font:700 12px var(--mono);}
.ln-chips button:hover{border-color:var(--purple);}
.ln-hint{font-size:12px; color:var(--tx2); line-height:1.45;}
.ln-hint.warn{color:var(--gold);}
.ln-accept{display:flex; gap:10px; align-items:flex-start; font-size:12px; line-height:1.5; color:var(--tx2); padding:14px; border-radius:12px; background:rgba(255,255,255,.03); border:1px solid var(--border); cursor:pointer;}
.ln-accept input{flex:none; width:18px; height:18px; margin-top:1px; accent-color:var(--purple);}
.ln-accept a{color:var(--purple);}

.ln-side{display:flex; flex-direction:column; gap:12px; position:sticky; top:90px; min-width:0;}
.ln-card{position:relative; padding:20px; border-radius:22px; overflow:hidden; text-align:center;
  background:radial-gradient(circle at 50% 0%, rgba(192,158,255,.22), transparent 60%), linear-gradient(170deg,#1d1b29,#0e0e14 70%); border:1px solid rgba(192,158,255,.35);}
.ln-card-img{width:112px; height:112px; margin:6px auto 14px; border-radius:28px; overflow:hidden; background:var(--surf2); display:flex; align-items:center; justify-content:center; box-shadow:0 18px 40px -14px rgba(0,0,0,.8), 0 0 0 3px rgba(255,255,255,.08);}
.ln-card-img img{width:100%; height:100%; object-fit:cover;}
.ln-card-img span{font:900 40px var(--font); color:var(--tx2);}
.ln-card-t b{display:block; font:900 26px var(--mono); letter-spacing:-.01em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.ln-card-t span{display:block; font-size:14px; color:var(--tx2); margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.ln-card-tags{display:flex; justify-content:center; flex-wrap:wrap; gap:6px; margin-top:14px;}
.ln-card-tags i{font:700 10px var(--mono); font-style:normal; letter-spacing:.06em; color:var(--green); border:1px solid rgba(61,255,160,.35); background:rgba(61,255,160,.08); border-radius:6px; padding:3px 7px;}
.ln-sum{padding:16px 18px;}
.ln-sum-r{display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-top:1px solid rgba(255,255,255,.06); font-size:13px;}
.ln-sum-r:first-of-type{margin-top:8px;}
.ln-sum-r span{color:var(--tx2);}
.ln-sum-r b{font:700 13px var(--mono); text-align:right;}
.ln-sum-r:last-of-type b{color:var(--gold);}
.ln-sum-n{font-size:11px; color:var(--tx2); margin-top:8px; line-height:1.45;}
.ln-wallet .hm-label{margin-bottom:8px;}
.ln-w-list{display:flex; flex-wrap:wrap; gap:8px;}
.ln-w{display:inline-flex; align-items:center; gap:8px; min-height:42px; padding:0 14px; border-radius:11px; background:var(--surf2); border:1px solid var(--border); font-size:13px; font-weight:700; text-decoration:none;}
.ln-w:hover{border-color:var(--purple);}
.ln-w img,.ln-w-on img{width:22px; height:22px; border-radius:6px;}
.ln-w-p{font-size:12px; color:var(--tx2); line-height:1.45; margin-bottom:10px;}
.ln-w-on{display:flex; align-items:center; gap:10px; padding:10px 10px 10px 14px; border-radius:14px; background:var(--surf); border:1px solid rgba(61,255,160,.35);}
.ln-w-on span{flex:1; min-width:0; display:flex; flex-direction:column;}
.ln-w-on b{font-size:13px;} .ln-w-on small{font:600 12px var(--mono); color:var(--tx2);}
.ln-go{margin:0; min-height:52px; font-size:14px; letter-spacing:.04em;}
.ln-go:disabled{opacity:.45; cursor:not-allowed;}
.ln-steps{display:flex; flex-direction:column; gap:8px; padding:14px 16px; border-radius:16px; background:var(--surf); border:1px solid var(--border);}
.ln-step{display:flex; align-items:center; gap:10px; font-size:13px; color:var(--tx2);}
.ln-step i{width:24px; height:24px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; font:800 11px var(--mono); font-style:normal; background:var(--surf2); border:1px solid var(--border);}
.ln-step.done{color:var(--tx);} .ln-step.done i{background:var(--green); border-color:var(--green); color:#05070a;}
.ln-step.now{color:var(--tx); font-weight:700;} .ln-step.now i{border-color:var(--purple); animation:rdPulse 1.6s infinite;}
.ln-step.err i{background:var(--red); border-color:var(--red); color:#05070a;}
.ln-err{font-size:13px; color:var(--red); line-height:1.45; margin-top:4px;}
.ln-done{display:flex; flex-direction:column; gap:8px;}
.ln-done b{font-size:20px; font-weight:900; color:var(--green);}
.ln-ca{font:600 11px var(--mono); color:var(--tx2); overflow-wrap:anywhere;}
.ln-done-a{display:flex; flex-wrap:wrap; gap:6px; margin-top:4px;}
.ln-done-a .hm-btn{display:inline-flex; align-items:center; text-decoration:none; min-height:36px; padding:0 12px; font-size:11px;}

.ln-mine{display:flex; flex-direction:column; gap:8px; margin-bottom:64px;}
.ln-empty{padding:22px; text-align:center; color:var(--tx2); font-size:13px;}
.ln-mine-r{display:flex; align-items:center; gap:14px; padding:12px 14px;}
.ln-mine-r img,.ln-mine-ph{width:44px; height:44px; border-radius:12px; object-fit:cover; flex-shrink:0; background:var(--surf2);}
.ln-mine-t{flex:1; min-width:0; display:flex; flex-direction:column; gap:2px;}
.ln-mine-t b{font:800 15px var(--mono);}
.ln-mine-t span{font-size:12px; color:var(--tx2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.ln-mine-r > em{font:800 10px var(--mono); font-style:normal; letter-spacing:.06em; padding:3px 7px; border-radius:6px; color:var(--tx2); border:1px solid var(--border); white-space:nowrap;}
.ln-mine-r > em.ok{color:var(--green); border-color:rgba(61,255,160,.4);}
.ln-mine-r > em.warn{color:var(--gold); border-color:rgba(255,211,92,.45);}
.ln-mine-a{display:flex; gap:6px;}
.ln-mine-a .hm-btn{display:inline-flex; align-items:center; text-decoration:none; min-height:36px; padding:0 12px; font-size:11px;}

@media(max-width:960px){
  .ln-grid{grid-template-columns:1fr;}
  .ln-side{position:static;}
}
@media(max-width:640px){
  .ln-modes{grid-template-columns:1fr;}
  .ln-form{padding:16px;}
  .ln-img{width:96px; height:96px; border-radius:18px;}
  .ln-links{grid-template-columns:1fr;}
  .ln-amt{max-width:none;}
  .ln-mine-r{flex-wrap:wrap;}
  .ln-mine-a{width:100%;} .ln-mine-a .hm-btn{flex:1; justify-content:center;}
  .ln-mine{margin-bottom:110px;}
}

/* ---------- PRO screener (radar tab) ---------- */
.radar-tag.pro-ok{color:#07070A; background:var(--gold); font-weight:900;}
.radar-tag.meta{color:var(--green); background:rgba(61,255,160,.1);}
.radar-item.pro-pass{border-color:rgba(255,211,92,.55); box-shadow:0 0 0 1px rgba(255,211,92,.25), 0 10px 30px -18px rgba(255,211,92,.45);}
.pro-banner{border:1px solid rgba(255,211,92,.3); background:linear-gradient(135deg, rgba(255,211,92,.07), rgba(192,158,255,.05)); border-radius:16px; padding:14px 16px; margin:0 0 14px; display:flex; flex-direction:column; gap:12px;}
.pro-banner .pb-row{display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.pro-banner .pb-row b{font-size:15px; letter-spacing:.04em;}
.pro-banner .pb-sub{color:var(--tx2); font-size:13px;}
.pro-banner .pb-stats{display:flex; gap:10px; flex-wrap:wrap;}
.pro-banner .pb-stat{flex:1 1 140px; background:rgba(0,0,0,.25); border:1px solid rgba(255,255,255,.08); border-radius:12px; padding:10px 12px; display:flex; flex-direction:column; gap:2px;}
.pro-banner .pb-stat small, .pro-banner .pb-meta small{font-size:10px; letter-spacing:.1em; color:var(--tx2); text-transform:uppercase;}
.pro-banner .pb-stat b{font:800 20px 'JetBrains Mono', monospace;}
.pro-banner .pb-stat span{font-size:12px; color:var(--tx2);}
.pro-banner .pb-stat.hot b{color:var(--green);} .pro-banner .pb-stat.ok b{color:var(--gold);} .pro-banner .pb-stat.dead b{color:var(--red);}
.pro-banner .pb-meta{display:flex; flex-wrap:wrap; gap:6px; align-items:center;}
.pro-banner .pb-meta small{flex-basis:100%;}
.pro-banner .pb-th{display:inline-flex; align-items:center; gap:6px; font-size:12px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); border-radius:999px; padding:4px 10px;}
.pro-banner .pb-th em{font-style:normal; font-family:'JetBrains Mono', monospace; font-size:11px; color:var(--purple);}
.pro-banner .pb-th i{font-style:normal; color:var(--tx2); font-size:11px;}
.pro-banner .pb-tips{font-size:13px; color:var(--purple); text-decoration:none; align-self:flex-start;}
.pro-lock{display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center;}
.pro-lock .share-btn{margin-top:6px;}
.pro-checks{margin-bottom:6px;}

/* ---------- TIPS ---------- */
#tipsView{max-width:820px; margin:0 auto;}
.tp-intro{color:var(--tx2); line-height:1.6; margin:0 0 18px;}
.tp-intro a{color:var(--purple);}
.tp-sec{background:var(--surf); border:1px solid rgba(255,255,255,.08); border-radius:18px; padding:18px 18px 8px; margin:0 0 14px;}
.tp-sec h3{margin:0 0 4px; font-size:14px; letter-spacing:.12em; color:var(--purple);}
.tp-lead{margin:0 0 12px; color:var(--tx2); font-size:14px; line-height:1.5;}
.tp-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; padding-bottom:10px;}
.tp-list li{display:flex; gap:12px; align-items:flex-start;}
.tp-n{flex:0 0 30px; height:30px; border-radius:9px; background:rgba(192,158,255,.12); color:var(--purple); display:flex; align-items:center; justify-content:center; font:800 13px 'JetBrains Mono', monospace;}
.tp-list h4{margin:3px 0 4px; font-size:15px; display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.tp-list p{margin:0; font-size:14px; line-height:1.55; color:#D4D4DC;}
.tp-auto, .tp-you{font:800 9px 'Outfit', sans-serif; letter-spacing:.1em; padding:2px 6px; border-radius:5px; vertical-align:2px;}
.tp-auto{color:#07070A; background:var(--gold);}
.tp-you{color:var(--purple); background:rgba(192,158,255,.14);}
.tp-safe{margin:0 0 12px; padding-left:18px; display:flex; flex-direction:column; gap:6px; font-size:14px; line-height:1.5; color:#D4D4DC;}
.tp-cta{display:flex; justify-content:center; margin:18px 0 10px;}
.tp-warn{text-align:center; color:var(--tx2); font-size:12px; margin:0 0 30px;}
/* 10 nav entries: tighter on laptops, menu button below 1100px */
@media(max-width:1440px){ nav button{padding:8px 9px; font-size:12px; letter-spacing:.01em;} }
@media(max-width:1100px){ .hamburger{display:flex;} nav{display:none;} }
#radarView.is-pro .rd-min{display:none;}

/* ---------- landing (root, logged out) ---------- */
html.dc-authed #landing{display:none;}
#landing{overflow-x:clip;}
#landing .lp-top{display:flex; align-items:center; justify-content:space-between; padding:18px 20px; max-width:1120px; margin:0 auto;}
#landing .lp-logo{font-weight:800; letter-spacing:.02em; text-decoration:none; font-size:18px; display:flex; align-items:center; gap:7px; color:var(--tx);}
#landing .lp-logo span{color:var(--purple);}
#landing .lp-btn{display:inline-flex; align-items:center; justify-content:center; padding:15px 26px; border-radius:14px; background:var(--green); color:#05070a; font-weight:800; text-decoration:none; letter-spacing:.03em; font-size:15px;}
#landing .lp-btn.lp-ghost{background:transparent; color:var(--tx); border:1px solid var(--border);}
#landing .lp-btn.lp-sm{padding:10px 16px; font-size:13px; border-radius:11px;}
#landing .lp-wrap{max-width:1120px; margin:0 auto; padding:0 20px;}
#landing .lp-hero{display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:center; padding:30px 0 60px; position:relative;}
#landing .lp-hero:before{content:""; position:absolute; inset:-80px -120px auto auto; width:640px; height:640px; background:radial-gradient(circle, rgba(192,158,255,.16), transparent 62%); pointer-events:none; z-index:-1;}
#landing .lp-kicker{display:inline-block; font:700 12px var(--mono); letter-spacing:.12em; color:var(--purple); background:rgba(192,158,255,.1); border:1px solid rgba(192,158,255,.25); padding:6px 11px; border-radius:8px;}
#landing h1{font-size:clamp(40px, 6.4vw, 72px); line-height:.98; letter-spacing:-.035em; margin:18px 0; font-weight:900;}
#landing h1 em{font-style:normal; color:var(--green);}
#landing .lp-lead{font-size:18px; color:var(--tx2); max-width:560px; margin:0 0 26px; line-height:1.55;}
#landing .lp-cta{display:flex; gap:12px; flex-wrap:wrap;}
#landing .lp-trust{display:flex; gap:16px; flex-wrap:wrap; margin-top:20px; color:var(--tx2); font-size:13px;}
#landing .lp-trust b{color:var(--tx);}
#landing .lp-stack{position:relative; height:560px;}
#landing .lp-stack img{position:absolute; height:auto; border-radius:22px; box-shadow:0 40px 90px -30px rgba(0,0,0,.95), 0 0 0 1px var(--border);}
#landing .lp-a{width:300px; left:50%; top:0; transform:translateX(-50%); z-index:2;}
#landing .lp-b{width:250px; left:0; top:120px; transform:rotate(-8deg);}
#landing .lp-c{width:250px; right:0; top:110px; transform:rotate(8deg);}
#landing .lp-sec{padding:60px 0; border-top:1px solid var(--border); scroll-margin-top:70px;}
#landing h2{font-size:clamp(28px, 4vw, 40px); letter-spacing:-.025em; line-height:1.08; margin:0 0 12px; font-weight:900;}
#landing .lp-sub{color:var(--tx2); font-size:17px; max-width:640px; margin:0 0 30px; line-height:1.55;}
#landing .lp-signin{display:grid; grid-template-columns:1fr minmax(0, 420px); gap:40px; align-items:start; scroll-margin-top:90px;}
#landing .lp-signin .authbox{margin:0;}
#landing .lp-steps{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; counter-reset:s; list-style:none; padding:0; margin:0;}
#landing .lp-steps li{background:var(--surf); border:1px solid var(--border); border-radius:18px; padding:22px;}
#landing .lp-steps li:before{counter-increment:s; content:counter(s); display:inline-flex; width:34px; height:34px; border-radius:10px; align-items:center; justify-content:center; background:rgba(61,255,160,.12); color:var(--green); font:800 15px var(--mono); margin-bottom:12px;}
#landing h3{margin:0 0 6px; font-size:18px;}
#landing .lp-steps p, #landing .lp-feat p{margin:0; color:var(--tx2); font-size:15px; line-height:1.5;}
#landing .lp-formats{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; align-items:start;}
#landing figure{margin:0; background:var(--surf); border:1px solid var(--border); border-radius:18px; padding:12px; display:flex; flex-direction:column; gap:12px;}
#landing figure img{width:100%; height:auto; border-radius:12px; display:block; background:#000;}
#landing figcaption b{display:block; font-size:16px;}
#landing figcaption span{color:var(--tx2); font-size:14px;}
#landing .lp-split{display:grid; grid-template-columns:.8fr 1.2fr; gap:40px; align-items:center;}
#landing .lp-video{max-width:340px; margin:0 auto; border-radius:26px; overflow:hidden; border:8px solid #1d1d26; box-shadow:0 50px 120px -40px rgba(0,0,0,.95);}
#landing .lp-video video{width:100%; height:auto; display:block;}
#landing .lp-wallets{display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none;}
#landing .lp-wallets li{padding:8px 13px; border-radius:999px; background:var(--surf2); border:1px solid var(--border); font-size:14px; font-weight:600;}
#landing .lp-checks{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px;}
#landing .lp-checks li{display:flex; gap:10px; color:var(--tx2); font-size:16px;}
#landing .lp-checks li:before{content:"✓"; color:var(--green); font-weight:900;}
#landing .lp-checks b{color:var(--tx);}
#landing .lp-feat{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
#landing .lp-feat > div{background:var(--surf); border:1px solid var(--border); border-radius:18px; padding:20px;}
#landing .lp-t{font:700 11px var(--mono); letter-spacing:.1em; color:var(--purple); margin-bottom:8px; display:block;}
#landing details{background:var(--surf); border:1px solid var(--border); border-radius:14px; padding:16px 18px; margin-bottom:10px;}
#landing summary{cursor:pointer; font-weight:700; font-size:16px; list-style:none;}
#landing summary::-webkit-details-marker{display:none;}
#landing summary:after{content:"+"; float:right; color:var(--purple); font-weight:900;}
#landing details[open] summary:after{content:"−";}
#landing details p{color:var(--tx2); margin:10px 0 0; font-size:15px;}
#landing .lp-final{text-align:center; padding:80px 0;}
#landing .lp-final .lp-lead{margin:0 auto 26px;}
@media(max-width:900px){
  #landing .lp-hero, #landing .lp-signin, #landing .lp-split{grid-template-columns:1fr;}
  #landing .lp-hero{padding-top:10px;}
  #landing .lp-stack{height:440px; max-width:420px; margin:0 auto; width:100%;}
  #landing .lp-a{width:230px;} #landing .lp-b, #landing .lp-c{width:180px;} #landing .lp-b{top:90px;} #landing .lp-c{top:80px;}
  #landing .lp-steps, #landing .lp-feat{grid-template-columns:1fr;}
  #landing .lp-formats{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:420px){ #landing .lp-formats{gap:10px;} #landing figure{padding:8px;} }
