@font-face{font-family:Inter;src:url('../fonts/inter-latin.woff2') format('woff2');font-display:swap}@font-face{font-family:'Noto Sans Bengali';src:url('../fonts/noto-sans-bengali.woff2') format('woff2');font-display:swap}:root{--tp:#b91c66;--tp-dark:#111b34;--tp-muted:#667085;--tp-line:#dfe5ee;--tp-bg:#f5f7fb;--tp-green:#07885d}*{box-sizing:border-box}body{margin:0;background:var(--tp-bg);color:var(--tp-dark);font:14px/1.5 Inter,'Noto Sans Bengali','Segoe UI',sans-serif}.tp-shell{width:min(1180px,calc(100% - 32px));margin:auto}.tp-header{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--tp-line);background:#fff}.tp-nav{min-height:68px;display:flex;align-items:center;gap:22px}.tp-brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800;color:inherit;text-decoration:none}.tp-brand img{width:40px;height:40px}.tp-links{display:flex;align-items:center;gap:18px;margin-left:auto}.tp-links a,.tp-link-button{border:0;background:none;color:#344054;text-decoration:none;font:inherit;font-weight:650;cursor:pointer}.tp-button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;padding:8px 16px;border:1px solid var(--tp-line);border-radius:6px;background:#fff;color:var(--tp-dark);font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.tp-button.primary{border-color:var(--tp);background:var(--tp);color:#fff}.tp-button.success{border-color:var(--tp-green);background:var(--tp-green);color:#fff}.tp-main{padding:30px 0 52px}.tp-hero{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:42px;min-height:510px}.tp-hero h1{max-width:650px;margin:0 0 18px;font-size:48px;line-height:1.08}.tp-hero h1 span{color:var(--tp)}.tp-hero p{max-width:620px;color:var(--tp-muted);font-size:17px}.tp-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.tp-demo{padding:22px;border:1px solid var(--tp-line);border-radius:8px;background:#fff;box-shadow:0 22px 55px rgba(17,27,52,.1)}.tp-demo-head{display:flex;justify-content:space-between;margin-bottom:18px}.tp-target{padding:22px;border-radius:6px;background:#f7f8fb;font:22px/1.9 ui-monospace,Consolas,monospace}.tp-keyboard{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;margin-top:18px}.tp-keyboard span{display:grid;min-height:34px;place-items:center;border:1px solid #d5dbe5;border-bottom-width:3px;border-radius:5px;background:#fff;font-weight:700}.tp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.tp-card{padding:20px;border:1px solid var(--tp-line);border-radius:7px;background:#fff}.tp-card h2,.tp-card h3{margin:0 0 8px}.tp-card p{color:var(--tp-muted)}.tp-progress{height:8px;overflow:hidden;border-radius:5px;background:#e9edf3}.tp-progress i{display:block;height:100%;background:var(--tp)}.tp-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}.tp-stat{padding:18px;border:1px solid var(--tp-line);background:#fff;border-radius:7px}.tp-stat strong{display:block;font-size:25px}.tp-stat span{color:var(--tp-muted)}.tp-page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:22px}.tp-page-title h1{margin:0;font-size:28px}.tp-page-title p{margin:4px 0 0;color:var(--tp-muted)}.tp-auth{width:min(450px,calc(100% - 30px));margin:46px auto;padding:28px;border:1px solid var(--tp-line);border-radius:8px;background:#fff}.tp-auth-logo{width:64px;height:64px;margin:auto}.tp-auth h1{text-align:center}.tp-auth>p{text-align:center;color:var(--tp-muted)}label{display:block;margin:13px 0 5px;font-weight:650}input,select,textarea{width:100%;min-height:42px;padding:9px 11px;border:1px solid #cbd3df;border-radius:5px;background:#fff;color:inherit;font:inherit}textarea{min-height:110px;resize:vertical}.tp-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tp-alert{margin:12px 0;padding:10px 12px;border-radius:5px;background:#fff0f1;color:#b42318}.tp-note{padding:12px;border-left:3px solid #e58bb5;background:#fff4f8;color:#64334b}.tp-practice-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:16px}.tp-practice{padding:24px;border:1px solid var(--tp-line);background:#fff}.tp-practice-target{min-height:130px;padding:18px;border-radius:6px;background:#f5f7fa;font:22px/1.8 ui-monospace,Consolas,monospace;white-space:pre-wrap}.tp-practice-target.bijoy{font-family:SutonnyMJ,serif}.tp-input{min-height:150px;margin-top:14px;font:20px/1.65 ui-monospace,Consolas,monospace}.tp-input.bijoy{font-family:SutonnyMJ,serif}.tp-metrics{display:grid;gap:10px}.tp-metrics .tp-stat{padding:13px}.tp-result{margin-top:14px;padding:14px;border:1px solid #b7e4d2;background:#edf9f4}.tp-table{width:100%;border-collapse:collapse;background:#fff}.tp-table th,.tp-table td{padding:11px 12px;border-bottom:1px solid var(--tp-line);text-align:left}.tp-table th{background:#f0f3f7}.tp-certificate{max-width:900px;margin:30px auto;padding:65px;border:10px double #1f2e4a;background:#fff;text-align:center}.tp-certificate h1{font-size:42px;color:var(--tp)}.tp-certificate .name{font-size:31px;font-weight:800}.tp-ready{display:none;margin-bottom:12px;padding:10px;background:#fff2d7;color:#7a4d00}.tp-ready.show{display:block}@media(max-width:800px){.tp-hero{grid-template-columns:1fr;min-height:auto}.tp-hero h1{font-size:36px}.tp-grid,.tp-stat-grid{grid-template-columns:repeat(2,1fr)}.tp-practice-layout{grid-template-columns:1fr}.tp-links a:not(.tp-button){display:none}}@media(max-width:520px){.tp-shell{width:min(100% - 20px,1180px)}.tp-grid,.tp-stat-grid,.tp-form-row{grid-template-columns:1fr}.tp-header .tp-brand span{display:none}.tp-main{padding-top:18px}.tp-auth{margin:18px auto;padding:20px}.tp-page-title{align-items:flex-start;flex-direction:column}.tp-certificate{padding:28px 14px}}@media print{.tp-header,.tp-actions,.no-print{display:none!important}.tp-certificate{margin:0;max-width:none;min-height:90vh}}
