.tpm-overlay{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(10,12,20,.55);backdrop-filter:blur(3px);animation:tpm-fade .2s ease-out}.tpm-overlay.tpm-closing{animation:tpm-fade .2s ease-in reverse}.tpm-modal{position:relative;display:grid;grid-template-columns:1fr .92fr;width:min(920px,100%);max-height:calc(100vh - 40px);background:var(--v2-bg,#fff);border-radius:20px;overflow:hidden;box-shadow:0 24px 80px rgba(10,12,20,.35);animation:tpm-pop .24s cubic-bezier(.23,1,.32,1)}.tpm-closing .tpm-modal{animation:tpm-pop .2s ease-in reverse}.tpm-close{position:absolute;top:16px;right:16px;z-index:2;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:var(--v2-mid,#555);cursor:pointer;transition:background .15s ease,color .15s ease,transform .15s ease}.tpm-close:hover{background:rgba(0,0,0,.06);color:var(--v2-ink,#111)}.tpm-close:active{transform:scale(.94)}.tpm-left{padding:48px 40px;display:flex;flex-direction:column;justify-content:center}.tpm-left h2{font-family:var(--v2-f-display,"Inter Tight",sans-serif);font-size:clamp(1.5rem,2.6vw,2rem);font-weight:700;letter-spacing:-.03em;line-height:1.12;color:var(--v2-ink,#0d0e10);margin:0 0 14px;max-width:16ch}.tpm-left p{font-size:.98rem;line-height:1.6;color:var(--v2-mid,#555);margin:0 0 26px;max-width:42ch}.tpm-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:14px 20px;border-radius:100px;font-size:.98rem;font-weight:700;cursor:pointer;text-decoration:none;transition:transform .16s cubic-bezier(.23,1,.32,1),background .16s ease,border-color .16s ease}.tpm-btn:active{transform:scale(.98)}.tpm-btn-primary{background:var(--v2-blue,#2c46ff);color:#fff;border:0;margin-bottom:10px}@media (hover:hover){.tpm-btn-primary:hover{background:var(--v2-blue-h,#1a3de6)}}.tpm-btn-ghost{background:transparent;color:var(--v2-ink,#0d0e10);border:1px solid var(--v2-bg3,#dcdfe6)}@media (hover:hover){.tpm-btn-ghost:hover{border-color:var(--v2-ink,#0d0e10)}}.tpm-note{margin-top:14px;text-align:center;font-size:.85rem;color:var(--v2-blue,#2c46ff)}.tpm-right{position:relative;padding:40px 34px;background:linear-gradient(160deg,var(--v2-bg2,#f4f6fb) 0,var(--v2-bg3,#e7ebf3) 100%);display:flex;flex-direction:column;justify-content:center;gap:16px}.tpm-mock{background:var(--v2-bg,#fff);border:1px solid rgba(10,12,20,.06);border-radius:14px;padding:16px 18px;box-shadow:0 8px 24px rgba(10,12,20,.08)}.tpm-mock-donut{align-self:flex-end;width:78%}.tpm-mock-bars{align-self:flex-start;width:74%}.tpm-mock-head{font-size:.72rem;font-weight:600;color:var(--v2-mid,#555);margin-bottom:12px}.tpm-donut{position:relative;width:92px;height:92px;margin:0 auto}.tpm-donut svg{width:100%;height:100%;transform:rotate(-90deg)}.tpm-donut circle{fill:none;stroke-width:3.4}.tpm-donut-track{stroke:var(--v2-bg3,#e7ebf3)}.tpm-donut-val{stroke:var(--v2-blue,#2c46ff);stroke-linecap:round}.tpm-donut-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--v2-f-display,sans-serif);font-weight:700;font-size:1.05rem;color:var(--v2-ink,#0d0e10)}.tpm-bars{gap:14px;height:72px;padding:0 4px}.tpm-bar,.tpm-bars{display:flex;align-items:flex-end}.tpm-bar{position:relative;flex:1;height:100%;justify-content:center}.tpm-bar-fill{display:block;width:100%;border-radius:5px 5px 0 0}.tpm-bar em{position:absolute;top:-16px;font-style:normal;font-size:.72rem;font-weight:700;color:var(--v2-ink,#0d0e10)}.tpm-bar-fill.danger{background:#e5484d}.tpm-bar-fill.warn{background:#f5a623}.tpm-bar-fill.ok{background:#2fb457}.tpm-bars-legend{display:flex;justify-content:space-between;margin-top:10px;padding:0 2px;font-size:.6rem;color:var(--v2-faint,#888)}.tpm-brand{position:absolute;bottom:20px;right:24px;display:flex;align-items:center;gap:6px;color:var(--v2-ink,#0d0e10);font-family:var(--v2-f-display,sans-serif);font-weight:700;font-size:.9rem;opacity:.7}@keyframes tpm-fade{0%{opacity:0}to{opacity:1}}@keyframes tpm-pop{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (prefers-reduced-motion:reduce){.tpm-modal,.tpm-overlay{animation:none}}@media (max-width:720px){.tpm-modal{grid-template-columns:1fr}.tpm-right{display:none}.tpm-left{padding:44px 24px 32px}}