:root{
  --bg:#f1f5f9;--card:#fff;--text:#0f172a;--muted:#64748b;--line:#e2e8f0;--primary:#4f46e5;--primary-d:#4338ca;--ok:#059669;--warn:#b45309;--err:#dc2626;
}
@media (prefers-color-scheme:dark){
  :root{--bg:#0b1220;--card:#111a2e;--text:#e5e7eb;--muted:#94a3b8;--line:#243049;--primary:#818cf8;--primary-d:#6366f1;--ok:#34d399;--warn:#fbbf24;--err:#f87171}
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,"Segoe UI","Nirmala UI","Noto Sans Tamil","Noto Sans Sinhala",Roboto,Arial,sans-serif;line-height:1.55}
.wrap{max-width:640px;margin:0 auto;padding:16px}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.back{color:var(--primary);text-decoration:none;font-weight:600}
.langs a{display:inline-block;padding:6px 12px;margin-left:4px;border-radius:999px;border:1px solid var(--line);color:var(--text);text-decoration:none;font-size:.9rem}
.langs a.on{background:var(--primary);border-color:var(--primary);color:#fff}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 8px 30px rgba(15,23,42,.08)}
h1{font-size:1.35rem;margin:0 0 6px}
h2{font-size:1.15rem;margin:0 0 6px;color:var(--ok)}
.intro{margin:0 0 16px;color:var(--muted)}
.tabs{display:flex;gap:8px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.tab{flex:1;padding:10px 8px;border:0;background:none;color:var(--muted);font:inherit;font-weight:600;cursor:pointer;border-bottom:3px solid transparent}
.tab.on{color:var(--primary);border-bottom-color:var(--primary)}
label{display:block;margin:14px 0 6px;font-weight:600;font-size:.92rem}
input[type=text],input[type=tel],select,textarea,input[type=file]{width:100%;padding:12px;border:1.5px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);font:inherit}
input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:1px}
select:disabled{opacity:.6}
textarea{resize:vertical;min-height:80px}
.hint{font-size:.82rem;color:var(--muted);margin:6px 0}
.files{margin:6px 0;padding-left:18px;font-size:.88rem;color:var(--muted)}
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.g-recaptcha{margin:16px 0 4px}
.primary,.secondary{display:inline-block;font:inherit;font-weight:700;border-radius:10px;padding:12px 20px;cursor:pointer;text-decoration:none;text-align:center}
.primary{width:100%;margin-top:14px;border:0;background:var(--primary);color:#fff}
.primary:hover{background:var(--primary-d)}
.primary:disabled{opacity:.6;cursor:wait}
.secondary{border:1.5px solid var(--primary);background:none;color:var(--primary);margin:6px 6px 0 0}
.err{margin-top:12px;padding:10px 12px;border-radius:10px;background:rgba(220,38,38,.1);color:var(--err);font-weight:600}
.done{text-align:center}
.tokenBox{margin:14px 0;padding:14px;border:2px dashed var(--primary);border-radius:12px}
.tokenLabel{display:block;color:var(--muted);font-size:.85rem}
.tokenBox strong{display:block;font-size:2rem;letter-spacing:.25em;margin-top:4px}
.result{margin-top:14px;padding:14px;border-radius:12px;white-space:pre-line}
.result.ok{background:rgba(5,150,105,.1);color:var(--text);border:1px solid var(--ok)}
.result.warn{background:rgba(180,83,9,.1);color:var(--text);border:1px solid var(--warn)}
#stForm{display:flex;gap:8px;flex-wrap:wrap}
#stForm input{flex:1 1 180px;text-transform:uppercase;letter-spacing:.15em}
#stForm .primary{width:auto;margin-top:0}
[hidden]{display:none!important}
