:root { color-scheme: light; --ink:#3e2438; --muted:#715a69; --pink:#f9d7e6; --line:#f2dce6; --rose:#9b315d; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; background:#fffafb; color:var(--ink); font:16px/1.6 ui-rounded,"Segoe UI",system-ui,sans-serif; }
header { display:flex; justify-content:space-between; align-items:center; gap:20px; max-width:1200px; margin:auto; padding:28px 32px; }
.brand { font-size:29px; letter-spacing:-1px; font-weight:800; text-decoration:none; color:var(--ink); }
.brand-dot { color:#e6a0bd; font-size:16px; margin-left:5px; }
nav,.tabs { display:flex; flex-wrap:wrap; gap:8px; }
button { font:inherit; font-weight:650; cursor:pointer; color:var(--ink); background:white; border:1px solid var(--line); border-radius:22px; padding:10px 17px; }
button[aria-pressed="true"] { background:var(--pink); border-color:var(--pink); }
button:disabled { cursor:wait; opacity:.6; }
button:hover:not(:disabled) { border-color:#c67b9b; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible { outline:3px solid var(--rose); outline-offset:4px; }
main { max-width:1160px; margin:50px auto 60px; padding:0 32px; display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; }
.intro { padding-top:24px; }
.eyebrow { letter-spacing:.14em; font-size:12px; font-weight:750; }
h1 { font-size:clamp(36px,4.7vw,60px); line-height:1.12; letter-spacing:-.045em; margin:24px 0; }
h1 .translation-bn { line-height:1.6; letter-spacing:0; margin-top:18px; }
h2 { font-size:24px; line-height:1.3; margin:12px 0 22px; }
.bubble { display:inline-block; background:#ffeaf3; border:1px solid var(--line); padding:22px 26px; border-radius:30px 30px 30px 8px; font-size:20px; }
.note { color:var(--muted); font-size:14px; }
.card { padding:32px; background:white; border:1px solid var(--line); border-radius:32px; box-shadow:0 22px 60px #b3709020; }
.tabs { margin:6px 0 24px; }
.tabs button { flex:1; }
form { display:grid; gap:20px; }
label { display:grid; gap:8px; font-weight:600; font-size:14px; }
input,select { width:100%; border:1px solid #d6bbc8; border-radius:15px; background:#fffcfd; color:var(--ink); padding:14px; font:inherit; font-size:16px; }
.primary { background:var(--rose); border-color:var(--rose); color:white; padding:14px 18px; border-radius:17px; }
.text-button { border:0; background:transparent; color:var(--rose); padding:8px 0; }
#logout,#cancel-recovery { margin-top:20px; }
#status { padding:16px 18px; border-radius:18px; background:#fff2f7; margin:0 0 22px; font-size:14px; }
#status.error { background:#fff0f1; color:#8c233d; border:1px solid #edc0c7; }
.email { overflow-wrap:anywhere; color:var(--muted); }
.translation-en,.translation-bn { display:block; }
.translation-bn { font-size:.79em; opacity:.88; margin-top:4px; line-height:1.7; font-family:"Noto Sans Bengali","Nirmala UI",system-ui,sans-serif; }
body.bn .translation-en { display:none; }
body.bn .translation-bn { font-size:1em; opacity:1; }
footer { max-width:900px; margin:auto; padding:24px 32px 40px; color:var(--muted); font-size:12px; text-align:center; }
@media (max-width:760px) { header{padding:20px;flex-wrap:wrap} main{grid-template-columns:1fr;gap:25px;margin-top:6px;padding:0 20px} .intro{padding-top:0} h1{font-size:42px} .card{padding:24px} .bubble{margin:0 0 10px} }
.portal-open main { display:block; max-width:1200px; margin-top:18px; }
.portal-open .card { padding:32px; }
.portal-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; }
.portal-heading h1 { font-size:clamp(32px,4vw,46px); margin:6px 0 0; }
.portal-heading .eyebrow { margin:0; font-size:14px; }
#portal-name { margin:16px 0 0; font-size:20px; font-weight:650; overflow-wrap:anywhere; }
.portal-open .email { margin:14px 0 24px; }
.portal-nav { padding:16px 0 24px; border-top:1px solid var(--line); }
.portal-nav a { color:var(--ink); text-decoration:none; padding:10px 16px; border-radius:16px; background:var(--pink); font-weight:650; }
.portal-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; }
.portal-panel { min-width:0; border:1px solid var(--line); padding:28px; border-radius:24px; scroll-margin-top:24px; }
.portal-panel h2 { margin-top:0; }
.app-panel { background:#fff2f7; }
.badge { display:inline-block; background:#f6d3e3; color:#68233f; border-radius:12px; padding:6px 10px; font-size:14px; font-weight:750; margin:0 0 20px; }
.app-meta { color:var(--muted); font-size:14px; }
.portal-link { color:var(--rose); font-weight:650; text-underline-offset:4px; }
.download-button { display:block; text-align:center; text-decoration:none; margin:24px 0 16px; }
.next-step { display:inline-block; margin-top:24px; }
.installation-panel { grid-column:1/-1; }
.installation-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; padding-left:24px; margin:24px 0 32px; }
.installation-steps li { padding-left:4px; }
.installation-steps p { color:var(--muted); margin:10px 0; }
.activation-note { border:1px solid #e5bbce; border-radius:18px; padding:20px; background:#fff2f7; }
.activation-note h3 { margin:0 0 10px; font-size:18px; }
.activation-note p { margin:0; }
.download-details { font-size:14px; margin-top:20px; }
.download-details summary { cursor:pointer; color:var(--rose); font-weight:650; }
.download-details code { overflow-wrap:anywhere; }
.download-details p { color:var(--muted); }
summary:focus-visible { outline:3px solid var(--rose); outline-offset:4px; }
@media (max-width:760px) { .portal-open main{padding:0 16px}.portal-open .card{padding:20px}.portal-grid{grid-template-columns:1fr}.portal-panel{padding:22px}.installation-steps{grid-template-columns:1fr;gap:20px}.portal-nav a{flex:1;min-width:120px}.portal-heading{align-items:start} }
/* Account deletion uses a separate, explicit confirmation. */
.deletion-consent { display: flex; align-items: flex-start; gap: .75rem; }
.deletion-consent input { width: auto; margin-top: .25rem; }
.legal-links { display: flex; gap: 1.25rem; justify-content: center; flex-wrap: wrap; padding: 1.5rem; }

.auth-captcha{margin:12px 0;min-width:0}

textarea {width:100%;border:1px solid #d6bbc8;border-radius:15px;background:#fffcfd;color:var(--ink);padding:14px;font:inherit;font-size:16px;resize:vertical;min-height:110px} textarea:focus-visible{outline:3px solid var(--rose);outline-offset:4px} .support-panel{grid-column:1/-1} .support-panel form{max-width:720px} .support-ticket{display:block;width:100%;text-align:start;border-radius:14px;margin:10px 0;overflow-wrap:anywhere} .support-message{padding:16px;border:1px solid var(--line);border-radius:16px;margin:12px 0} .support-message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0} .support-message p:first-child{font-size:13px;color:var(--muted)} #support-reference{overflow-wrap:anywhere} #support-status{white-space:pre-wrap} #support-thread{scroll-margin-top:24px}
