:root{--bg: #faf5ec;--ink: #1a1a1a;--ink-muted: #4a3a2e;--primary: #d97843;--primary-hi: #c86634;--primary-soft: #fbe6d6;--panel: #ffffff;--line: #ecdfc9;--danger: #b23a3a;--focus: #206090;--font-body: "Nunito", "Noto Sans Sinhala", "Noto Sans Tamil", system-ui, sans-serif;--font-display: "Fraunces", "Noto Sans Sinhala", "Noto Sans Tamil", Georgia, serif;--tap-min: 48px;--btn-min-h: 56px;--body-size: 20px;--heading-size: 32px;--radius-s: 10px;--radius-m: 16px;--radius-l: 24px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--body-size);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.lang-si,body.lang-ta{line-height:1.75}body.lang-si h1,body.lang-si h2,body.lang-ta h1,body.lang-ta h2{line-height:1.35}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3{font-family:var(--font-display);color:var(--ink);margin:0 0 .6em;font-weight:600;letter-spacing:-.01em;line-height:1.15}h1{font-size:clamp(40px,5.5vw,56px)}h2{font-size:clamp(32px,4vw,40px)}h3{font-size:26px}p{margin:0 0 1em}a{color:var(--primary-hi);text-decoration-thickness:2px;text-underline-offset:3px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.page{flex:1;width:100%;max-width:720px;margin:0 auto;padding:32px 24px 120px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;max-width:960px;margin:0 auto;width:100%}.topbar .brand{font-family:var(--font-display);font-size:32px;font-weight:700;color:var(--primary-hi);letter-spacing:-.02em}.big-btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--btn-min-h);padding:0 32px;font-family:var(--font-body);font-size:22px;font-weight:700;border-radius:var(--radius-m);border:2px solid transparent;cursor:pointer;transition:background-color .12s ease,transform 80ms ease;min-width:200px}.big-btn.primary{background:var(--primary);color:#fff}.big-btn.primary:hover:not(:disabled){background:var(--primary-hi)}.big-btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.big-btn.ghost:hover:not(:disabled){border-color:var(--ink-muted)}.big-btn.danger{background:#fff;color:var(--danger);border-color:var(--danger)}.big-btn.danger:hover:not(:disabled){background:var(--danger);color:#fff}.big-btn:active:not(:disabled){transform:translateY(1px)}.big-btn:disabled{opacity:.5;cursor:not-allowed}.big-input{display:block;width:100%;min-height:var(--btn-min-h);padding:14px 18px;font-family:var(--font-body);font-size:22px;color:var(--ink);background:#fff;border:2px solid var(--line);border-radius:var(--radius-m);transition:border-color .1s ease}.big-input:focus{border-color:var(--primary);outline:none}.big-input::placeholder{color:#a89477}.field{display:block;margin-bottom:20px}.field-label{display:block;font-size:20px;font-weight:600;margin-bottom:8px;color:var(--ink-muted)}.field-hint{font-size:17px;color:var(--ink-muted);margin-top:6px}.mic-hint{display:inline-flex;align-items:center;gap:8px;font-size:17px;color:var(--ink-muted);margin-top:8px}.mic-hint:before{content:"🎤";font-size:22px}.consent-row{display:flex;align-items:flex-start;gap:14px;padding:14px;border-radius:var(--radius-s);background:#fff;border:1px solid var(--line);margin-bottom:12px;min-height:var(--tap-min)}.consent-row input[type=checkbox]{width:30px;height:30px;accent-color:var(--primary);flex-shrink:0;margin-top:2px}.consent-row label{font-size:19px;color:var(--ink);line-height:1.5;cursor:pointer}.lang-picker{display:inline-flex;gap:4px;padding:6px;border:2px solid var(--line);border-radius:999px;background:#fff}.lang-picker button{min-height:var(--tap-min);min-width:60px;padding:0 14px;border:none;background:transparent;border-radius:999px;font-family:var(--font-body);font-size:18px;font-weight:600;color:var(--ink-muted);cursor:pointer}.lang-picker button.active{background:var(--primary);color:#fff}.otp-boxes{display:flex;gap:12px;justify-content:center;margin:24px 0}.otp-box{width:72px;height:88px;font-size:44px;font-weight:700;text-align:center;border:3px solid var(--line);border-radius:var(--radius-m);background:#fff;color:var(--ink);font-family:var(--font-display)}.otp-box:focus{border-color:var(--primary);outline:none}.footer{border-top:1px solid var(--line);padding:24px;text-align:center;color:var(--ink-muted);font-size:17px}.footer a{color:var(--ink-muted);margin:0 10px}.modal-veil{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1a1a8c;display:flex;align-items:center;justify-content:center;padding:24px;z-index:100}.modal{background:var(--panel);border-radius:var(--radius-l);padding:32px;max-width:520px;width:100%;box-shadow:0 20px 60px #00000040}.modal h2{margin-top:0}.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;padding:20px 24px;background:var(--ink);color:#fff;border-radius:var(--radius-m);display:flex;align-items:center;gap:16px;z-index:90;box-shadow:0 10px 30px #00000040;font-size:18px}.cookie-banner a{color:#fc9}.cookie-banner .big-btn{min-width:120px}.hero{text-align:center;padding:48px 0 40px}.hero .wordmark{font-family:var(--font-display);font-size:clamp(72px,12vw,128px);font-weight:700;color:var(--primary);letter-spacing:-.03em;line-height:1;margin:0}.hero .tagline{font-size:26px;color:var(--ink-muted);margin:16px 0 40px;font-family:var(--font-display);font-style:italic}.legal{max-width:680px}.legal h1{font-size:40px}.legal h2{font-size:26px;margin-top:40px}.legal p,.legal li{font-size:19px;line-height:1.7;color:var(--ink)}.legal ul{padding-left:24px}.legal .updated{color:var(--ink-muted);font-size:17px}.banner-error{padding:14px 18px;background:#fff0ee;border:2px solid #f0b8ac;color:var(--danger);border-radius:var(--radius-s);font-weight:600;margin-bottom:20px}.banner-info{padding:14px 18px;background:var(--primary-soft);border:2px solid var(--primary);color:var(--ink);border-radius:var(--radius-s);margin-bottom:20px}.select,.textarea{width:100%;min-height:56px;padding:14px 18px;font-family:var(--font-body);font-size:22px;background:#fff;color:var(--ink);border:2px solid var(--line);border-radius:var(--radius-m)}.textarea{min-height:100px;resize:vertical}.select:focus,.textarea:focus{border-color:var(--primary);outline:none}.tag-grid{display:flex;flex-wrap:wrap;gap:10px}.tag{display:inline-flex;align-items:center;padding:12px 20px;min-height:var(--tap-min);background:#fff;border:2px solid var(--line);border-radius:999px;font-size:18px;font-weight:600;color:var(--ink-muted);cursor:pointer;transition:all .1s ease}.tag.selected{background:var(--primary);color:#fff;border-color:var(--primary)}.tag:hover:not(.selected){border-color:var(--primary);color:var(--ink)}.photo-preview{width:180px;height:180px;border-radius:50%;overflow:hidden;border:4px solid var(--primary-soft);background:var(--line);display:flex;align-items:center;justify-content:center;font-size:60px;color:var(--ink-muted);font-family:var(--font-display)}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-upload-row{display:flex;align-items:center;gap:24px;margin-bottom:24px}.photo-upload-row input[type=file]{display:none}.browse-filters{display:grid;gap:12px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-m);margin-bottom:24px}@media(min-width:720px){.browse-filters{grid-template-columns:1fr 1fr}}.card-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.profile-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);padding:20px;display:flex;flex-direction:column;gap:12px}.profile-card .photo{width:110px;height:110px;border-radius:50%;overflow:hidden;border:3px solid var(--primary-soft);background:var(--line);align-self:center;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:44px;color:var(--ink-muted)}.profile-card .photo img{width:100%;height:100%;object-fit:cover}.profile-card .name{font-family:var(--font-display);font-size:24px;font-weight:600;margin:0}.profile-card .meta{font-size:18px;color:var(--ink-muted)}.profile-card .tags{display:flex;flex-wrap:wrap;gap:6px}.profile-card .tags span{background:var(--primary-soft);color:var(--ink);padding:4px 10px;border-radius:999px;font-size:15px;font-weight:600}.profile-card .bio{font-size:17px;color:var(--ink);line-height:1.55}.profile-card .actions{display:flex;gap:8px;margin-top:auto}.profile-card .actions button{flex:1;min-width:0}.chat-list{display:flex;flex-direction:column;gap:10px}.chat-row{display:flex;align-items:center;gap:16px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-m);cursor:pointer;min-height:72px}.chat-row:hover{border-color:var(--primary)}.chat-row .photo{width:60px;height:60px;border-radius:50%;overflow:hidden;background:var(--line);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:24px;color:var(--ink-muted)}.chat-row .photo img{width:100%;height:100%;object-fit:cover}.chat-row .body{flex:1;min-width:0}.chat-row .body .name{font-weight:700;font-size:20px;color:var(--ink)}.chat-row .body .preview{font-size:17px;color:var(--ink-muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chat-row .unread{background:var(--primary);color:#fff;border-radius:999px;min-width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700}.chat-header{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);margin-bottom:20px}.chat-header .photo{width:56px;height:56px;border-radius:50%;overflow:hidden;background:var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:22px;color:var(--ink-muted)}.chat-header .photo img{width:100%;height:100%;object-fit:cover}.chat-header .name{font-family:var(--font-display);font-size:26px;font-weight:600}.chat-scroll{display:flex;flex-direction:column;gap:10px;min-height:300px;max-height:480px;overflow-y:auto;padding:10px 6px;margin-bottom:16px}.msg{max-width:78%;padding:12px 16px;border-radius:18px;font-size:19px;line-height:1.4}.msg .ts{display:block;font-size:14px;color:#ffffffbf;margin-top:4px}.msg.mine{align-self:flex-end;background:var(--primary);color:#fff;border-bottom-right-radius:4px}.msg.theirs{align-self:flex-start;background:#fff;color:var(--ink);border:1px solid var(--line);border-bottom-left-radius:4px}.msg.theirs .ts{color:var(--ink-muted)}.chat-input-row{display:flex;gap:10px;align-items:center;padding:12px;background:#fff;border:2px solid var(--line);border-radius:var(--radius-m)}.chat-input-row input{flex:1;border:none;outline:none;font-size:20px;font-family:var(--font-body);background:transparent;color:var(--ink);min-height:44px}.chat-input-row .mic{width:44px;height:44px;border-radius:50%;background:var(--primary-soft);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:22px}.wa-banner{padding:14px 18px;background:#e8f5ea;border:2px solid #78c088;color:#1c5e2e;border-radius:var(--radius-s);margin-bottom:16px;font-weight:600}.wa-banner.pending{background:var(--primary-soft);border-color:var(--primary);color:var(--ink)}.wa-banner a{color:#1c5e2e;text-decoration:underline;font-weight:700}.bell-wrap{position:relative}.bell-btn{min-height:var(--tap-min);min-width:var(--tap-min);background:transparent;border:2px solid var(--line);border-radius:50%;cursor:pointer;font-size:22px;padding:0 12px;color:var(--ink)}.bell-btn .badge{position:absolute;top:-6px;right:-6px;background:var(--danger);color:#fff;border-radius:999px;min-width:24px;height:24px;padding:0 6px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.bell-drop{position:absolute;top:calc(100% + 8px);right:0;width:340px;max-height:420px;overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:0 10px 30px #00000026;z-index:60}.bell-drop .item{padding:14px 16px;border-bottom:1px solid var(--line);font-size:17px}.bell-drop .item.unread{background:var(--primary-soft)}.bell-drop .item:last-child{border-bottom:none}.bell-drop .empty{padding:24px;text-align:center;color:var(--ink-muted)}.admin-tabs{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.admin-tabs button{padding:12px 20px;min-height:var(--tap-min);border:2px solid var(--line);border-radius:999px;background:#fff;font-size:18px;font-weight:600;cursor:pointer;color:var(--ink-muted)}.admin-tabs button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.admin-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-m);padding:20px;margin-bottom:16px}.admin-card .row{display:flex;gap:16px;align-items:center;margin-bottom:12px}.admin-card .photo{width:80px;height:80px;border-radius:50%;overflow:hidden;background:var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:32px;color:var(--ink-muted)}.admin-card .photo img{width:100%;height:100%;object-fit:cover}.admin-card .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.admin-card .actions button{min-width:140px}.admin-card .info{flex:1}.admin-card .info .name{font-size:22px;font-weight:700;margin:0}.admin-card .info .meta{font-size:17px;color:var(--ink-muted);margin:4px 0}.dash-grid{display:grid;gap:16px;grid-template-columns:1fr}@media(min-width:640px){.dash-grid{grid-template-columns:1fr 1fr}}.dash-card{background:#fff;border:2px solid var(--line);border-radius:var(--radius-l);padding:24px;min-height:140px;text-align:left;cursor:pointer;transition:border-color .1s ease}.dash-card:hover{border-color:var(--primary)}.dash-card .icon{font-size:36px;margin-bottom:8px}.dash-card .title{font-family:var(--font-display);font-size:26px;font-weight:600;margin:0 0 4px}.dash-card .sub{font-size:18px;color:var(--ink-muted)}.landing-page{max-width:880px;padding-top:24px}.landing-hero{text-align:left;padding:32px 0 48px;border-bottom:1px solid var(--line);margin-bottom:48px}.landing-eyebrow{display:inline-block;font-size:17px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--primary-hi);background:var(--primary-soft);padding:6px 14px;border-radius:999px;margin-bottom:20px}.landing-hero-heading{font-family:var(--font-display);font-size:clamp(36px,5.5vw,56px);font-weight:600;line-height:1.1;letter-spacing:-.02em;color:var(--ink);margin:0 0 20px;max-width:780px}.landing-hero-sub{font-size:22px;line-height:1.5;color:var(--ink-muted);max-width:640px;margin:0 0 32px}.landing-hero-ctas{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.landing-section{padding:24px 0 40px;border-bottom:1px solid var(--line);margin-bottom:24px}.landing-section:last-child{border-bottom:none}.landing-section-title{font-family:var(--font-display);font-size:clamp(28px,3.5vw,36px);font-weight:600;margin:0 0 24px;letter-spacing:-.01em}.how-grid{display:grid;gap:20px;grid-template-columns:1fr}@media(min-width:720px){.how-grid{grid-template-columns:repeat(3,1fr)}}.how-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);padding:24px;min-height:200px;display:flex;flex-direction:column;gap:12px}.how-num{width:44px;height:44px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:22px;font-weight:700}.how-card-title{font-family:var(--font-display);font-size:22px;font-weight:600;color:var(--ink);line-height:1.25}.how-card-body{font-size:19px;color:var(--ink-muted);line-height:1.5}.landing-trust .trust-list{list-style:none;padding:0;margin:0;display:grid;gap:14px;grid-template-columns:1fr}@media(min-width:720px){.landing-trust .trust-list{grid-template-columns:1fr 1fr}}.landing-trust .trust-list li{font-size:20px;line-height:1.4;color:var(--ink);padding:14px 18px 14px 44px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-m);position:relative}.landing-trust .trust-list li:before{content:"✓";position:absolute;left:16px;top:14px;color:var(--primary-hi);font-weight:800;font-size:22px}.landing-coming-soon{display:grid;gap:24px;grid-template-columns:1fr}@media(min-width:900px){.landing-coming-soon{grid-template-columns:1fr 1fr}}.coming-soon-card{background:#fff;border:2px solid var(--primary-soft);border-radius:var(--radius-l);padding:28px;display:flex;flex-direction:column;gap:12px}.coming-soon-heading{font-family:var(--font-display);font-size:24px;font-weight:600;color:var(--ink);margin:0;line-height:1.25}.coming-soon-body{font-size:18px;color:var(--ink-muted);line-height:1.5;margin:0 0 8px}.coming-soon-form{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch}.coming-soon-form .big-input{flex:1 1 220px;min-width:0;font-size:20px}.coming-soon-form .big-btn{min-width:160px}.coming-soon-success{background:#e8f5ea;border:2px solid #78c088;color:#1c5e2e;border-radius:var(--radius-s);padding:12px 16px;font-weight:600;font-size:18px}.interest-flags{display:grid;gap:14px;grid-template-columns:1fr;margin-bottom:24px}@media(min-width:720px){.interest-flags{grid-template-columns:1fr 1fr}}.interest-flag-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-m)}.interest-flag-name{font-family:var(--font-display);font-size:20px;font-weight:600;color:var(--ink)}.interest-flag-state{font-size:17px;color:var(--ink-muted);margin-top:4px}.interest-counts{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.interest-count-pill{padding:12px 20px;background:var(--primary-soft);border:2px solid var(--primary);border-radius:var(--radius-m);min-width:200px}.interest-count-label{font-size:15px;font-weight:700;letter-spacing:.03em;color:var(--primary-hi);text-transform:uppercase}.interest-count-value{font-size:18px;color:var(--ink);margin-top:4px}.interest-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:20px}.interest-table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius-m)}.interest-table{width:100%;border-collapse:collapse;min-width:640px}.interest-table th,.interest-table td{padding:14px 16px;text-align:left;font-size:17px;border-bottom:1px solid var(--line)}.interest-table th{background:var(--primary-soft);color:var(--ink);font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:.03em}.interest-table tbody tr:last-child td{border-bottom:none}
