



:root { --background:#f8f7f3; --foreground:#173930; --card:#fff; --card-foreground:#173930; --popover:#fff; --popover-foreground:#173930; --primary:#17483a; --primary-foreground:#fff; --secondary:#e7eee9; --secondary-foreground:#173930; --muted:#edf1ed; --muted-foreground:#5d6b63; --accent:#d3e0d7; --accent-foreground:#173930; --destructive:#aa3a39; --border:#cbd7cf; --input:#cbd7cf; --ring:#47846d; --radius:.45rem; }
@theme inline { --color-background:var(--background); --color-foreground:var(--foreground); --color-card:var(--card); --color-card-foreground:var(--card-foreground); --color-popover:var(--popover); --color-popover-foreground:var(--popover-foreground); --color-primary:var(--primary); --color-primary-foreground:var(--primary-foreground); --color-secondary:var(--secondary); --color-secondary-foreground:var(--secondary-foreground); --color-muted:var(--muted); --color-muted-foreground:var(--muted-foreground); --color-accent:var(--accent); --color-accent-foreground:var(--accent-foreground); --color-destructive:var(--destructive); --color-border:var(--border); --color-input:var(--input); --color-ring:var(--ring); --radius-sm:.2rem; --radius-md:.35rem; --radius-lg:.45rem; --font-sans:Arial,Helvetica,sans-serif; }
@media (prefers-color-scheme: dark) { :root { --background:#f8f7f3; --foreground:#173930; --card:#fff; --card-foreground:#173930; --popover:#fff; --popover-foreground:#173930; --primary:#17483a; --primary-foreground:#fff; --secondary:#e7eee9; --secondary-foreground:#173930; --muted:#edf1ed; --muted-foreground:#5d6b63; --accent:#d3e0d7; --accent-foreground:#173930; --destructive:#aa3a39; --border:#cbd7cf; --input:#cbd7cf; --ring:#47846d; } }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:#f8f7f3; color:#173930; font-family:Arial,Helvetica,sans-serif; } button,input,select { font:inherit; } button { cursor:pointer; } a { color:inherit; text-decoration:none; } .wrap { width:min(1240px,calc(100% - 96px)); margin:0 auto; } .section { padding:112px 0; } h1,h2,h3,p { margin-top:0; } h1,h2,h3 { font-weight:400; } h1,h2,.quiz-card h3,.join-card h3 { font-family:Georgia,'Times New Roman',serif; letter-spacing:-.045em; } h2 { font-size:clamp(2.6rem,4.3vw,4.65rem); line-height:1.1; } em { font-weight:400; } p { line-height:1.75; } .kicker,.eyebrow,.overline { font-size:.76rem; font-weight:700; letter-spacing:.18em; } .kicker { display:flex; align-items:center; gap:22px; margin-bottom:47px; color:#75877b; } .kicker:after { content:""; width:75px; height:1px; background:#b9c7bd; } .button { display:inline-flex; justify-content:center; align-items:center; gap:19px; padding:17px 24px; border:1px solid transparent; font-size:.9rem; font-weight:700; min-height:55px; transition:transform .2s,background .2s; } .button:hover { transform:translateY(-2px); } .button-dark { color:white; background:#17483a; } .button-dark:hover { background:#0b3529; } .button-cream { color:#173930; background:#f3f0e8; } .button-cream:hover { background:white; } .button-outline { border-color:#315e4f; color:#194536; } .button-outline:hover { background:#e9f0e9; } .text-link { display:inline-flex; align-items:center; gap:16px; padding-bottom:7px; border-bottom:1px solid #315c4f; font-weight:700; font-size:.91rem; } .text-link:hover { gap:22px; }
.header { position:relative; z-index:4; display:flex; align-items:center; justify-content:space-between; height:84px; padding:0 48px; background:#f8f7f3; } .brand { display:inline-flex; align-items:center; gap:10px; color:#194638; font-family:Georgia,'Times New Roman',serif; font-size:1.55rem; white-space:nowrap; letter-spacing:-.06em; } .brand b { font-family:Arial,Helvetica,sans-serif; font-size:.63em; font-weight:700; margin-left:1px; letter-spacing:0; } .brand-icon { display:grid; place-items:center; width:34px; height:34px; border:1px solid #306c53; border-radius:50%; font-size:1.2rem; font-style:italic; } .nav { display:flex; gap:33px; } .nav a { font-size:.89rem; font-weight:600; color:#38584d; } .nav a:hover,.header-link:hover { color:#879d71; } .header-link { display:flex; align-items:center; gap:12px; font-size:.88rem; font-weight:700; border-bottom:1px solid #275c46; padding-bottom:6px; } .menu { display:none; border:0; background:none; color:#17483a; }
.hero { min-height:645px; position:relative; display:flex; align-items:center; overflow:hidden; background:#204839; color:#f7f5ed; } .hero-image { position:absolute; inset:0; background:#315342 url('/assets/hero-connection.png') center 47%/cover no-repeat; } .hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(9,42,32,.9) 0%,rgba(10,44,33,.72) 37%,rgba(13,42,33,.13) 100%); } .hero-inner { position:relative; z-index:1; padding:92px 0 105px; } .eyebrow.light { color:#e8e4cf; } .hero h1 { max-width:720px; margin:27px 0 24px; font-size:clamp(3.65rem,6.5vw,6.8rem); line-height:1.04; } .hero em { color:#e4d8b5; } .hero p { max-width:560px; margin-bottom:33px; font-size:1.13rem; color:#f1f1e9; } .hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:30px; } .hero-actions a { display:inline-flex; align-items:center; gap:12px; font-size:.9rem; font-weight:700; } .hero small { display:block; margin-top:25px; color:#e0e9dc; font-size:.8rem; } .hero-edge { position:absolute; z-index:1; bottom:28px; right:36px; writing-mode:vertical-rl; font-size:.61rem; letter-spacing:.22em; opacity:.85; }
.intro-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:100px; } .intro h2 { margin:0; } .intro-copy,.intro-grid>div { max-width:510px; } .intro p,.circle p,.safety p,.join p,.quiz-grid>div>p { color:#53685e; font-size:1.04rem; } .intro p + p { margin-top:16px; } .intro .text-link { margin-top:15px; }
.journey { background:#e9eee9; } .section-head { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:55px; } .section-head h2 { margin:0; } .section-head p { max-width:280px; color:#597064; } .steps { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#b7c8ba; border:1px solid #b7c8ba; } .steps article { position:relative; background:#e9eee9; min-height:280px; padding:34px 35px; display:flex; flex-direction:column; align-items:start; } .step-num { align-self:end; color:#809488; font-size:.76rem; letter-spacing:.15em; } .steps svg { margin-top:17px; color:#3c7255; } .steps h3 { font-family:Georgia,serif; font-size:1.55rem; margin:22px 0 11px; letter-spacing:-.03em; } .steps p { color:#617269; margin:0; font-size:.94rem; line-height:1.65; }
.quiz-section { background:#f8f7f3; } .quiz-grid { display:grid; grid-template-columns:1fr 1.02fr; gap:100px; align-items:start; } .quiz-grid>div>p { max-width:470px; margin-top:25px; } blockquote { font-family:Georgia,serif; color:#7d977d; font-size:1.35rem; font-style:italic; margin:45px 0 0; } .quiz-card { min-height:430px; background:#fff; box-shadow:0 20px 55px rgba(20,57,43,.08); padding:38px 43px; } .overline { color:#7b9583; } .heart-mark { display:grid; place-items:center; width:68px; height:68px; margin:45px 0 24px; border:1px solid #c3d2c5; border-radius:50%; color:#437459; } .quiz-card h3 { font-size:2.45rem; line-height:1.1; margin:0 0 13px; } .quiz-card p { color:#617267; max-width:440px; } .quiz-card .button { margin-top:20px; } .quiz-top { display:flex; justify-content:space-between; font-size:.76rem; font-weight:700; letter-spacing:.13em; color:#6d8574; } .progress { height:3px; background:#e5ebe4; margin:17px 0 35px; } .progress span { display:block; height:100%; background:#2f7655; transition:width .2s; } .quiz-active h3 { margin-bottom:27px; font-size:2rem; } .answers { display:grid; gap:9px; } .answers button { text-align:left; width:100%; padding:15px 17px; display:flex; justify-content:space-between; align-items:center; gap:16px; border:1px solid #d8e3da; background:#fafcf9; color:#244d3c; font-size:.93rem; } .answers button:hover,.answers button:focus-visible { background:#e9f1e9; border-color:#5d9474; } .previous { display:inline-flex; align-items:center; gap:5px; border:0; background:none; padding:0; color:#5c7464; margin-top:23px; font-size:.86rem; } .quiz-result .heart-mark { margin:23px 0 19px; } .quiz-result strong { color:#3f7355; } .quiz-result p { margin:15px 0; } .quiz-result small { display:block; line-height:1.5; color:#7a897d; } .result-buttons { display:flex; gap:20px; align-items:center; flex-wrap:wrap; }
.circle { background:#17483a; color:#f7f5ed; } .circle-grid { display:grid; grid-template-columns:1fr .82fr; gap:110px; align-items:center; } .circle .kicker { color:#adc7b1; } .circle .kicker:after { background:#829f87; } .circle p { max-width:540px; color:#d5e1d5; } .circle .button-outline { color:#fff; border-color:#a0bda3; margin-top:25px; } .circle .button-outline:hover { background:#2f624d; } .circle-card { min-height:480px; border:1px solid #7eaa89; padding:32px; background:#23533e; display:flex; flex-direction:column; justify-content:space-between; } .circle-card>span { font-size:.75rem; letter-spacing:.19em; } .circle-art { width:270px; height:270px; position:relative; margin:0 auto; } .ring { position:absolute; border:1px solid #80a48a; border-radius:50%; } .ring-one { inset:18px; } .ring-two { inset:56px; } .central-heart { position:absolute; inset:0; display:grid; place-items:center; color:#edddba; font-size:4rem; font-family:Georgia,serif; } .dot { position:absolute; width:13px; height:13px; border-radius:50%; background:#e1d5b7; } .dot-a { top:36px; left:58px; }.dot-b { right:18px; top:116px; }.dot-c { bottom:20px; left:123px; }.dot-d { top:120px; left:60px; width:8px; height:8px; } .circle-features { display:grid; gap:8px; font-size:.85rem; color:#dfe9dd; } .circle-features span { border-top:1px solid #779a80; padding-top:9px; }
.safety { background:#eef2eb; }.safety-grid { display:grid; grid-template-columns:1fr 1fr; gap:110px; }.safety p { max-width:485px; }.safety-list { border-top:1px solid #c8d6c8; }.safety-list>div { display:flex; gap:23px; padding:23px 0; border-bottom:1px solid #c8d6c8; }.safety-list svg { flex:none; color:#41815b; }.safety-list strong,.safety-list small { display:block; }.safety-list strong { margin-bottom:8px; font-size:1rem; }.safety-list small { font-size:.9rem; line-height:1.6; color:#607468; }
.join { background:#f8f7f3; }.join-grid { display:grid; grid-template-columns:1fr .83fr; gap:115px; }.join-grid>div>p { max-width:490px; }.join-card { background:#fff; padding:38px 43px; box-shadow:0 18px 45px rgba(14,47,33,.07); }.join-card h3 { font-size:2rem; margin-bottom:27px; }.join-card form>label:not(.checkbox) { display:block; margin:18px 0 8px; font-size:.83rem; font-weight:700; }.join-card input:not([type=checkbox]),.join-card select { width:100%; min-height:50px; border:1px solid #cad7cc; color:#173930; background:#fff; padding:0 13px; border-radius:2px; }.join-card .checkbox { display:flex; align-items:flex-start; gap:11px; margin-top:19px; color:#5c6e61; font-size:.82rem; line-height:1.5; }.checkbox input { flex:none; width:17px; height:17px; margin-top:1px; accent-color:#17483a; }.checkbox a { text-decoration:underline; }.join-card .full { width:100%; margin-top:22px; }.join-card small { color:#879489; display:block; margin-top:13px; font-size:.76rem; }.error { color:#a43b39!important; font-size:.85rem!important; }.success svg { color:#3b835c; margin-bottom:25px; }.success p { color:#5c6e61; }
.footer { background:#123c30; color:#f3f5ed; padding:72px 0 28px; }.footer .brand { color:white; }.footer .brand-icon { border-color:#d0dfcc; }.footer-top { display:grid; grid-template-columns:2fr 1fr 1fr; gap:55px; }.footer p { max-width:280px; color:#afc5b5; margin:23px 0 0; font-size:.88rem; }.footer nav { display:grid; align-content:start; gap:17px; }.footer nav a { font-size:.89rem; color:#d8e4da; }.footer nav a:hover { color:white; text-decoration:underline; }.footer-bottom { border-top:1px solid #426958; margin-top:74px; padding-top:25px; display:flex; justify-content:space-between; gap:20px; color:#a9c0ad; font-size:.76rem; }
@media(max-width:900px) { .wrap { width:min(100% - 48px,1240px); }.header { padding:0 24px; }.nav { display:none; position:absolute; left:0; right:0; top:84px; background:#f8f7f3; padding:22px 24px; box-shadow:0 15px 20px #123c3022; }.nav.open { display:grid; gap:20px; }.header-link { margin-left:auto; margin-right:25px; }.menu { display:block; }.intro-grid,.quiz-grid,.circle-grid,.safety-grid,.join-grid { gap:45px; }.hero { min-height:610px; } }
@media(max-width:700px) { .wrap { width:calc(100% - 40px); }.section { padding:76px 0; }.header { height:72px; padding:0 20px; }.nav { top:72px; }.header-link { display:none; }.hero { min-height:660px; align-items:end; }.hero-image { background-position:62% center; }.hero-overlay { background:linear-gradient(0deg,rgba(9,42,32,.97) 0%,rgba(9,42,32,.8) 48%,rgba(9,42,32,.18) 100%); }.hero-inner { padding:140px 0 58px; }.hero h1 { font-size:clamp(3.45rem,12vw,4.8rem); margin-top:19px; }.hero p { font-size:1rem; }.hero-actions { gap:20px; }.hero-edge { display:none; }.intro-grid,.quiz-grid,.circle-grid,.safety-grid,.join-grid,.footer-top { grid-template-columns:1fr; gap:35px; }.section-head { display:block; }.section-head p { margin:22px 0 0; }.steps { grid-template-columns:1fr; }.steps article { min-height:220px; padding:27px; }.steps svg { margin-top:0; }.quiz-grid>div>p { margin-top:0; }.quiz-card,.join-card { padding:29px 24px; }.circle-card { min-height:400px; }.circle-art { transform:scale(.8); }.footer-top { gap:45px; }.footer-bottom { display:grid; margin-top:52px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .button { transition:none; } }
.legal-page { min-height:100vh; padding:56px 20px 100px; background:#f8f7f3; }.legal-wrap { width:min(740px,100%); margin:0 auto; }.legal-back { display:inline-block; color:#29694b; font-size:.92rem; font-weight:700; margin-bottom:55px; }.legal-label { font-size:.75rem; font-weight:700; letter-spacing:.18em; color:#819482; }.legal-wrap h1 { font-size:clamp(3.1rem,6vw,5rem); margin:15px 0 24px; }.legal-wrap h2 { font-family:Georgia,serif; font-size:1.8rem; margin:38px 0 10px; }.legal-wrap p { color:#546a5b; font-size:1rem; }.legal-wrap p:last-of-type { margin-bottom:45px; }

[hidden]{display:none!important}.quiz-card button:focus-visible,.header a:focus-visible,.join-card input:focus-visible,.join-card select:focus-visible{outline:3px solid #75a889;outline-offset:2px}.join-card input[name=website]{position:absolute;left:-9999px}.quiz-start,.quiz-active,.quiz-result{min-height:350px}.quiz-result[hidden],.quiz-active[hidden],.quiz-start[hidden]{display:none}

.assessment-page{background:#f8f7f3;padding:78px 0 96px}.assessment-wrap{max-width:900px}.assessment-wrap h1{font-size:clamp(3rem,6vw,5.4rem);line-height:1.08;margin:0 0 22px}.assessment-wrap h1 em,.assessment-wrap h2 em{color:#5e8365}.assessment-lead{font-size:1.18rem;max-width:760px;color:#53685e}.assessment-notes{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0}.assessment-notes span{border:1px solid #c4d4c6;padding:10px 14px;color:#3c624b;font-size:.85rem}.assessment-instruction{color:#465d4e;max-width:780px;margin:30px 0}.assessment-panel{background:white;box-shadow:0 20px 55px rgba(20,57,43,.08);padding:38px 44px;margin-top:27px}.assessment-top{display:flex;justify-content:space-between;color:#597363;font-size:.82rem;font-weight:700;letter-spacing:.08em}.assessment-panel .progress{margin:19px 0 28px}.item-field{border:0;border-top:1px solid #dce5db;padding:27px 0 30px;margin:0;min-width:0}.item-field legend{font-family:Georgia,serif;font-size:1.38rem;color:#173930;padding:26px 0 0}.likert-options{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:18px}.likert-option{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;min-height:90px;padding:11px 7px;border:1px solid #cbd8cc;color:#526b5b;cursor:pointer;font-size:.78rem;line-height:1.25}.likert-option input{position:absolute;opacity:0;width:1px;height:1px}.likert-option b{font-size:1.1rem;color:#285744}.likert-option:has(input:checked){background:#e7f0e8;border:2px solid #276649;color:#173930}.likert-option:has(input:focus-visible){outline:3px solid #75a889;outline-offset:2px}.assessment-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:22px}.assessment-controls .previous{margin:0}.assessment-controls .previous:disabled{opacity:.35;cursor:default}.assessment-error{min-height:1.5em;color:#a43b39}.assessment-panel h2{font-size:clamp(2.4rem,4vw,3.8rem)}.factor-card{border-top:1px solid #d7e2d7;padding:24px 0}.factor-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.factor-title h3{font-family:Georgia,serif;font-size:1.65rem;margin:0 0 15px}.factor-title strong{color:#285f42;white-space:nowrap}.factor-track{height:12px;background:#e7eee7;overflow:hidden}.factor-track span{display:block;height:100%;background:#487d5c}.factor-poles{display:flex;justify-content:space-between;gap:24px;margin-top:11px;color:#5d7462;font-size:.76rem}.factor-poles span{max-width:46%}.factor-poles span:last-child{text-align:right}.factor-card p{font-size:.9rem;color:#5d7462;margin:15px 0 0}.method-note{font-size:.81rem!important;color:#677a6b!important;margin:22px 0!important;line-height:1.6}.assessment-method{margin-top:56px;border-top:1px solid #b9cbbd;padding-top:30px}.assessment-method h2{font-size:1.9rem}.assessment-method p{color:#576c5b}.assessment-method a{text-decoration:underline}.assessment-panel .text-link{margin-top:25px}.assessment-panel .result-buttons{margin-top:25px}
@media(max-width:700px){.assessment-page{padding:55px 0 75px}.assessment-panel{padding:24px 20px}.likert-options{grid-template-columns:1fr;gap:7px}.likert-option{min-height:44px;flex-direction:row;text-align:left;padding:8px 12px;gap:13px}.likert-option b{min-width:16px}.item-field legend{font-size:1.2rem}.assessment-controls{align-items:stretch}.assessment-controls .button{padding:12px}.factor-title h3{font-size:1.3rem}.factor-poles{font-size:.7rem}}
.factor-card .factor-reading{font-size:1rem;color:#264a38;margin-top:12px}
.life-section{background:#f1f2eb}.life-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:45px}.life-heading h2{margin:0}.life-heading p{max-width:360px;color:#5b6e60;margin:0}.life-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.life-card{background:#fff;overflow:hidden}.life-card img{display:block;width:100%;height:280px;object-fit:cover;object-position:center}.life-card:nth-child(2) img{object-position:center 39%}.life-card>div{padding:28px 28px 31px}.life-card span{font-size:.7rem;font-weight:700;letter-spacing:.16em;color:#708574}.life-card h3{font-family:Georgia,'Times New Roman',serif;font-size:1.65rem;line-height:1.15;letter-spacing:-.03em;margin:19px 0 12px}.life-card p{color:#5c6e61;font-size:.92rem;margin:0}.image-note{font-size:.72rem;color:#788679;margin:16px 0 0}.hero-actions .button{text-decoration:none}.nav{gap:25px}
@media(max-width:900px){.life-heading{display:block}.life-heading p{margin-top:20px}.life-card img{height:210px}.life-card>div{padding:23px}.life-card h3{font-size:1.4rem}}
@media(max-width:700px){.life-grid{grid-template-columns:1fr;gap:18px}.life-card img{height:250px}.life-card h3{font-size:1.6rem}}
.hero .hero-slogan{font-family:Georgia,'Times New Roman',serif;font-size:1.32rem;line-height:1.35;color:#e8d9b5;margin:-2px 0 19px;letter-spacing:.015em}.hero .hero-slogan+p{max-width:580px}.intro-grid strong{font-weight:700;color:#214a38}.steps article>span[aria-hidden]{font-size:2.2rem;line-height:1;color:#3c7255}
@media(max-width:700px){.hero .hero-slogan{font-size:1.08rem}.steps article>span[aria-hidden]{font-size:1.8rem}}
.member-body{min-height:100vh;display:flex;flex-direction:column}.member-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px max(24px,calc((100vw - 1120px)/2));border-bottom:1px solid #d9e3d8;background:#fff}.member-header nav{display:flex;align-items:center;gap:23px;flex-wrap:wrap;font-size:.84rem;color:#315847}.member-header nav a:hover,.member-aside a:hover{text-decoration:underline}.member-header form{margin:0}.member-header button{border:0;background:none;color:#315847;padding:0}.member-main{width:min(1120px,calc(100% - 44px));margin:0 auto;flex:1;padding:64px 0 100px}.member-heading{max-width:760px;margin-bottom:36px}.member-heading h1,.member-card h1{font-family:Georgia,serif;font-size:clamp(2.8rem,5vw,4.6rem);line-height:1.08;letter-spacing:-.04em;margin:10px 0 20px}.member-heading p,.member-card p{color:#556d5d}.member-card{background:#fff;border:1px solid #dde6dc;padding:36px 40px;box-shadow:0 15px 35px #20412b0a}.member-card h2{font-size:2rem;margin:20px 0}.member-card .kicker{margin-bottom:20px}.member-tag{font-size:.7rem;font-weight:700;letter-spacing:.17em;color:#5f8467}.member-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.member-future{margin-top:20px}.member-future .member-card{background:#edf2eb}.member-footer{background:#153d31;color:#e7ece4;padding:25px;text-align:center;font-size:.8rem}.member-footer a{text-decoration:underline}.auth-card{max-width:590px;margin:auto}.profile-card{max-width:820px}.member-form{display:grid;gap:19px;margin-top:27px}.member-form>label:not(.member-check){display:grid;gap:8px;font-weight:700;font-size:.9rem}.member-form input:not([type=checkbox]),.member-form select,.member-form textarea{border:1px solid #b8cbbb;border-radius:2px;background:#fff;color:#173930;padding:14px 15px;width:100%;font-weight:400}.member-form textarea{resize:vertical;min-height:120px}.member-form input:focus-visible,.member-form textarea:focus-visible,.member-form select:focus-visible{outline:3px solid #85a68b}.member-form small{color:#6c7e70;font-weight:400}.member-check{display:flex;align-items:start;gap:10px;color:#455c4c;font-size:.86rem;line-height:1.5}.member-check input{margin-top:3px}.member-check a,.member-aside a,.member-notice a,.member-error a{text-decoration:underline}.member-form .button{justify-self:start}.member-aside{font-size:.85rem;margin-top:24px}
/* v1.6.9.5: custom English file-picker button (the browser's native button text follows the OS language) */
.member-form label.file-label{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 18px;background:#17483a;color:#fff;border-radius:6px;font-weight:700;cursor:pointer;min-height:48px;font-size:.9rem}.member-form label.file-label:hover{background:#2f6a50}.member-form label.file-label input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0)}.member-error{background:#fff0ee;border-left:3px solid #aa3a39;padding:12px 15px;color:#8a3330!important}.member-notice{background:#e5f1e8;border-left:3px solid #35724f;padding:13px 16px;line-height:1.6;margin:20px 0}
/* v1.6.9.5: admin/member-header mobile — horizontal scroll instead of a tall column */
@media(max-width:720px){.member-header{flex-direction:row;align-items:center;padding:12px 16px;gap:10px;overflow-x:auto}.member-header nav{display:flex;flex-wrap:nowrap;gap:12px;overflow-x:auto}.member-main{padding:45px 0 70px}.member-grid{grid-template-columns:1fr}.member-card{padding:27px 24px}.member-card h2{font-size:1.7rem}}

/* v1.1.1: make membership entry available from the homepage at every viewport. */
.header-register{border:1px solid #17483a;background:#17483a;color:#fff;padding:11px 15px;min-height:44px;white-space:nowrap;line-height:1.2}.header-register:hover{background:#0b3529;color:#fff}.register-short{display:none}.hero-actions .button-ghost{color:#f7f5ed;border:1px solid #d7dfd4;background:#16413588}.hero-actions .button-ghost:hover{background:#f7f5ed;color:#173930}.join-register{margin:15px 0 12px}.join-switch{font-size:.89rem!important;margin:11px 0!important}.join-switch a{text-decoration:underline}
@media(max-width:1140px){.header .nav{display:none;position:absolute;left:0;right:0;top:84px;background:#f8f7f3;padding:22px 24px;box-shadow:0 15px 20px #123c3022}.header .nav.open{display:grid;gap:20px}.header .menu{display:block}.header-register{margin-left:auto;margin-right:16px}}
@media(max-width:700px){.header .nav{top:72px}.header .header-register{display:inline-flex;margin-left:auto;margin-right:12px;padding:9px 11px;font-size:.78rem;min-height:39px}.register-long{display:none}.register-short{display:inline}.hero-actions{gap:12px}.hero-actions .button{width:100%;justify-content:center;padding:14px 16px}.hero small{line-height:1.5}}

/* v1.2.0 member discovery and profile review */
.member-main{width:min(1180px,calc(100% - 48px));padding-top:45px}.member-hero{min-height:365px;background:#153e31;color:#f7f5ed;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:52px 64px;overflow:hidden;position:relative}.member-hero>div:first-child{position:relative;z-index:1;max-width:720px}.member-hero .kicker{color:#c2d5c3;margin-bottom:23px}.member-hero h1{font-family:Georgia,serif;font-size:clamp(2.8rem,5vw,5rem);letter-spacing:-.055em;line-height:1.02;margin:0 0 21px}.member-hero p{color:#dce9da;font-size:1.05rem;max-width:600px;margin:0 0 24px}.member-hero-mark{font-family:Georgia,serif;font-size:16rem;letter-spacing:-.19em;color:#ffffff0f;line-height:1;white-space:nowrap}.member-hero-mark span{display:inline-block;transform:translateY(35px)}.member-hero-link{color:#f7f5ed;text-decoration:underline;font-weight:700}.member-actions{display:flex;flex-wrap:wrap;align-items:center;gap:17px}.member-summary{display:grid;grid-template-columns:repeat(3,1fr);background:white;border:1px solid #dae5da;margin-top:19px}.member-summary>div{padding:23px 27px;border-right:1px solid #dae5da;min-width:0}.member-summary>div:last-child{border:0}.member-summary strong,.member-summary small{display:block;overflow-wrap:anywhere}.member-summary strong{font-family:Georgia,serif;font-size:1.5rem;font-weight:400;margin:8px 0 4px}.member-summary small{color:#607668}.member-discover{padding-top:74px}.member-section-title{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:31px}.member-section-title h2{font-size:clamp(2.4rem,4.3vw,3.7rem);margin:10px 0}.member-section-title p{color:#5a7060;max-width:670px;margin:0}.member-empty{padding:70px 30px;background:#edf2eb;text-align:center;border:1px solid #d5e3d4}.member-empty>span{font-family:Georgia,serif;font-size:3.3rem;color:#7d9c80}.member-empty h3{font-family:Georgia,serif;font-size:2.1rem;letter-spacing:-.03em;margin:12px 0}.member-empty p{color:#5a7060;max-width:540px;margin:0 auto 25px}.candidate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.candidate-card{background:#fff;border:1px solid #d9e4da;min-width:0;overflow:hidden}.candidate-photo{height:300px;background:#e6ece4;position:relative}.candidate-photo img{display:block;width:100%;height:100%;object-fit:cover}.candidate-photo span{position:absolute;left:16px;bottom:16px;background:#173f31e8;color:#fff;padding:7px 10px;font-size:.72rem;letter-spacing:.06em}.candidate-copy{padding:23px}.candidate-name{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.candidate-name h3{font-family:Georgia,serif;font-size:1.8rem;line-height:1.1;letter-spacing:-.04em;margin:0}.candidate-name span{color:#54705c;font-size:1.2rem}.candidate-location{font-size:.88rem;color:#597361;margin:8px 0 15px}.candidate-intro{font-size:.94rem;color:#344d3c;line-height:1.55;min-height:4.6em;overflow-wrap:anywhere}.candidate-facts{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:13px}.candidate-facts span{background:#edf2eb;color:#42614a;padding:6px 9px;font-size:.76rem;overflow-wrap:anywhere}.candidate-card details{border-top:1px solid #dce6dc;padding-top:15px}.candidate-card summary{cursor:pointer;color:#21583c;font-weight:700;font-size:.85rem}.candidate-card details p{margin-top:12px;color:#485d4b;overflow-wrap:anywhere}.member-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:46px}.member-bottom-grid .member-soft{background:#ecf1ea}.member-workspace{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:start}.member-workspace .profile-card{max-width:none}.member-sidebar{display:grid;gap:25px}.member-sidebar .member-card{padding:25px}.member-sidebar h2{font-size:1.7rem;margin:16px 0}.member-form h2{font-size:1.75rem;margin:25px 0 0}.member-form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}.member-form-row label{display:grid;gap:8px;font-size:.9rem;font-weight:700}.member-form-row small{display:block}.member-publish{background:#edf3ec;padding:23px;border:1px solid #d6e5d7}.member-publish p{margin:9px 0 15px}.member-current-photo{display:flex;align-items:center;gap:20px}.member-current-photo img{height:150px;width:125px;object-fit:cover}.member-current-photo .member-check{margin-top:13px}.review-grid{display:grid;gap:24px}.review-card{overflow-wrap:anywhere}.review-card h3{font-family:Georgia,serif;font-size:1.45rem;margin:20px 0 8px}.review-top{display:flex;gap:25px}.review-top img{width:200px;height:225px;object-fit:cover;flex:none}.review-actions{display:flex;align-items:end;gap:12px;flex-wrap:wrap;border-top:1px solid #dde6dc;padding-top:20px}.review-actions label{flex:1;min-width:210px}.review-actions input{display:block;width:100%;padding:13px;border:1px solid #becfbe;margin-top:7px}
@media(max-width:960px){.candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.member-workspace{grid-template-columns:1fr}.member-sidebar{grid-template-columns:1fr 1fr}.member-hero-mark{font-size:9rem}}
@media(max-width:650px){.member-main{width:min(100% - 32px,500px);padding:25px 0 60px}.member-hero{padding:37px 26px;min-height:0}.member-hero-mark{display:none}.member-hero h1{font-size:2.85rem}.member-summary{grid-template-columns:1fr}.member-summary>div{border-right:0;border-bottom:1px solid #dae5da;padding:17px 21px}.member-discover{padding-top:48px}.member-section-title{display:block}.member-section-title .text-link{margin-top:17px}.candidate-grid,.member-bottom-grid,.member-form-row,.member-sidebar{grid-template-columns:1fr}.candidate-photo{height:330px}.member-empty{padding:50px 20px}.member-workspace .member-card{padding:25px 20px}.review-top{display:block}.review-top img{width:100%;height:300px;margin-bottom:20px}}

/* v1.2.1 standalone administration */
.admin-body{background:#f2f4ef}.admin-body .member-header{border-bottom:3px solid #17483a}.admin-body .brand small{font:700 .58rem Arial,sans-serif;letter-spacing:.17em;margin-left:9px;color:#738c78}.admin-main{padding-top:55px}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.admin-stats .member-card{padding:25px}.admin-stats strong{display:block;font-family:Georgia,serif;font-size:3rem;font-weight:400;line-height:1;margin:22px 0 9px;color:#17483a}.admin-stats p{font-size:.88rem;margin:0 0 14px}.admin-stats .text-link{font-size:.78rem}.admin-list{padding:0;list-style:none;border-top:1px solid #d7e3d8;margin-bottom:25px}.admin-list li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #d7e3d8}.admin-list span{color:#627469;font-size:.86rem;text-align:right}
@media(max-width:900px){.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.admin-stats{grid-template-columns:1fr}.admin-list li{display:block}.admin-list span{display:block;text-align:left;margin-top:4px}}

/* v1.3.0 member messaging */
.nav-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#aa3a39;color:#fff;font:700 .7rem/1 Arial,sans-serif;vertical-align:middle;margin-left:4px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.thread-list{display:grid;gap:12px}
.thread-row{display:grid;grid-template-columns:64px 1fr auto;gap:16px;align-items:center;background:#fff;border:1px solid #d9e4da;padding:16px 20px;transition:border-color .15s,transform .15s}
.thread-row:hover{border-color:#5d9474;transform:translateY(-1px)}
.thread-row.is-unread{border-left:4px solid #17483a}
.thread-avatar img{width:64px;height:64px;border-radius:50%;object-fit:cover;display:block;background:#e6ece4}
.thread-body{min-width:0}
.thread-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.thread-top strong{font-family:Georgia,serif;font-size:1.15rem;color:#173930}
.thread-top time{font-size:.76rem;color:#7a8c7e;white-space:nowrap}
.thread-preview{margin:4px 0 0;color:#4a6152;font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.thread-meta{margin:2px 0 0;color:#829187;font-size:.78rem}
.thread-badge{display:grid;place-items:center;min-width:24px;height:24px;border-radius:12px;background:#aa3a39;color:#fff;font:700 .78rem/1 Arial,sans-serif}
.candidate-message{margin-top:15px;width:100%}
.thread-header{display:flex;align-items:center;gap:18px;margin-bottom:22px}
.thread-back{font-weight:700;color:#2f5a47;font-size:.9rem}
.thread-partner{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #d9e4da;padding:10px 18px 10px 10px;flex:1}
.thread-partner img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.thread-partner strong{display:block;font-family:Georgia,serif;font-size:1.15rem;color:#173930}
.thread-partner small{color:#68806f}
.chat-log{display:flex;flex-direction:column;gap:10px;background:#eef2eb;border:1px solid #d7e2d7;padding:22px;min-height:320px;max-height:60vh;overflow-y:auto}
.chat-bubble{max-width:72%;padding:11px 15px;border-radius:14px;line-height:1.55;font-size:.95rem;overflow-wrap:anywhere}
.chat-bubble p{margin:0 0 4px}
.chat-bubble time{display:block;font-size:.7rem;opacity:.65}
.chat-bubble.is-theirs{background:#fff;color:#173930;align-self:flex-start;border-bottom-left-radius:4px}
.chat-bubble.is-mine{background:#17483a;color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.chat-empty{align-self:center;color:#5d7263;text-align:center;max-width:420px;padding:30px 10px}
.chat-form{display:grid;grid-template-columns:1fr auto;gap:12px;margin-top:18px}
.chat-form textarea{border:1px solid #b8cbbb;padding:14px 15px;resize:vertical;min-height:64px;font:inherit}
.chat-form .button{align-self:end;min-height:64px}
@media(max-width:650px){.thread-row{grid-template-columns:48px 1fr}.thread-avatar img{width:48px;height:48px}.thread-badge{grid-column:2;justify-self:start;margin-top:-8px}.chat-bubble{max-width:88%}.chat-form{grid-template-columns:1fr}.chat-form .button{width:100%}}

/* v1.3.1 three-column member app */
/* v1.7.2: two columns by default; only chat-capable pages open the third column */
.app-body{margin:0;min-height:100vh;display:grid;grid-template-columns:220px 1fr;background:#f1f2ed;color:#173930;font-family:Arial,Helvetica,sans-serif}
.app-body.app-chat-open{grid-template-columns:220px 1fr 360px}
.app-sidebar{background:#153e31;color:#eef3ea;display:flex;flex-direction:column;padding:24px 18px}
.app-sidebar .brand{color:#fff;margin-bottom:32px}
.app-sidebar .brand-icon{border-color:#9fc3a6;color:#fff}
.app-nav{display:flex;flex-direction:column;gap:4px;flex:1}
.app-nav a{color:#cfe0d2;padding:11px 14px;border-radius:6px;font-size:.92rem;font-weight:600}
.app-nav a:hover{background:#2a5a46;color:#fff}
.app-nav a.is-active{background:#2f6a50;color:#fff}
.app-nav .nav-badge{background:#d65a58;color:#fff;margin-left:6px}
.app-nav .nav-warn{display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:50%;background:#e8a33d;color:#153e31;font:800 .85rem/1 Arial,sans-serif;margin-left:6px;vertical-align:middle}
.home-warn{margin:14px 0 0;padding:12px 14px;border-radius:10px;background:#fdf3e3;border:1px solid #e8a33d;color:#5c4308;font-size:.9rem;line-height:1.5}
.home-warn a{color:#8a5a0b;font-weight:700;text-decoration:underline}
.home-warn.is-info{background:#eef3ea;border-color:#2f6a50;color:#173930}
.home-warn.is-info a{color:#17483a}
.req{color:#aa3a39;font-weight:700}
/* v1.8.8: invite / referral UI */
.invite-link-row{display:flex;gap:8px;margin:10px 0}
.invite-link-box{flex:1;min-width:0;background:#f2f4f0;border:1px solid #d5e0d3;border-radius:8px;padding:9px 10px;font-size:.8rem;color:#31543f;word-break:break-all}
.invite-share{display:flex;gap:8px;margin:12px 0 4px}
.invite-share a{flex:1;text-align:center;padding:10px 6px;border-radius:8px;font-size:.82rem;font-weight:700;color:#fff;text-decoration:none}
.invite-share .is-fb{background:#1877f2}
.invite-share .is-fb:hover{background:#1465d8}
.invite-share .is-wa{background:#25d366}
.invite-share .is-wa:hover{background:#1db954}
.invite-progress-bar{height:8px;border-radius:4px;background:#e2e8df;overflow:hidden;margin:8px 0 6px}
.invite-progress-fill{height:100%;background:#2f6a50;border-radius:4px}
.invite-card{max-width:640px}
.invite-rules{margin:10px 0 0;padding-left:18px;color:#47624f;font-size:.86rem;line-height:1.7}
.premium-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:36px;align-items:start}
.premium-main{min-width:0}
.premium-side{position:sticky;top:24px;background:#fff;border:1px solid #dde5dc;border-radius:14px;padding:24px;box-shadow:0 4px 18px #1739300d}
.premium-side h2{font-family:Georgia,serif;font-size:1.5rem;margin:8px 0 10px}
.premium-side h2 em{color:#5e8365}
.premium-side p{font-size:.86rem;color:#47624f;line-height:1.6}
.premium-side .bp-footnote{margin-top:10px;font-size:.78rem}
.premium-side .invite-link-box{font-size:.76rem}
.app-sidebar-foot{border-top:1px solid #2c5a46;padding-top:16px}
/* v1.7.2: member card at the bottom of the sidebar (email + plan badge → premium page) */
.app-me-row{display:flex;gap:8px;align-items:stretch;margin-bottom:12px}
.app-me{display:block;flex:1;padding:10px 12px;border-radius:10px;background:#ffffff14;color:#eef3ea;text-decoration:none;min-width:0}
.app-me:hover{background:#ffffff22}
.app-me-email{display:block;font-size:.72rem;line-height:1.35;word-break:break-all;opacity:.88}
.app-me-plan{display:inline-block;margin-top:6px;font-size:.66rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:2px 9px;border-radius:999px;background:#ffffff1f;color:#eef3ea}
.app-me-plan.is-premium{background:#d9a441;color:#153e31}
.app-me-cta{display:block;margin-top:6px;font-size:.7rem;font-weight:700;color:#f5c76a;letter-spacing:.02em}
/* v1.7.2.2: settings gear with pop-up menu (account / notifications / sign out) */
.app-settings{position:relative}
.app-settings-btn{list-style:none;display:flex;align-items:center;justify-content:center;width:38px;height:100%;min-height:46px;border-radius:10px;background:#ffffff14;color:#eef3ea;cursor:pointer;margin:0}
.app-settings-btn::-webkit-details-marker{display:none}
.app-settings-btn:hover{background:#ffffff22}
.app-settings-menu{position:absolute;right:0;bottom:calc(100% + 8px);min-width:192px;background:#fff;color:#173930;border-radius:10px;box-shadow:0 8px 28px #0003;padding:6px;z-index:70}
.app-settings-menu a,.app-settings-menu button{display:block;width:100%;text-align:left;padding:9px 12px;border-radius:8px;color:#173930;text-decoration:none;background:none;border:0;font:inherit;font-size:.85rem;cursor:pointer}
.app-settings-menu a:hover,.app-settings-menu button:hover{background:#eef3ea}
.app-who{font-size:.85rem;color:#bcd2c0;margin-bottom:10px}
.app-sidebar-foot > button{background:none;border:0;color:#bcd2c0;cursor:pointer;padding:0;font-size:.85rem}
.app-sidebar-foot > button:hover{color:#fff}
.app-center{padding:34px 34px 60px;min-width:0;overflow-y:auto;max-height:100vh}
.app-center-head{margin-bottom:24px}
.app-center-head h1{font-family:Georgia,serif;font-size:2.2rem;margin:0 0 6px;letter-spacing:-.03em}
.app-center-head p{color:#5e7364;margin:0;font-size:.92rem}
.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.app-card{background:#fff;border:1px solid #d9e2d9;overflow:hidden;display:flex;flex-direction:column}
.app-card-photo{position:relative;height:260px;background:#e6ece4}
.app-card-photo img{width:100%;height:100%;object-fit:cover;display:block}
.app-card-msg{position:absolute;right:10px;bottom:10px;background:#17483a;color:#fff;border:0;padding:8px 14px;font-size:.82rem;font-weight:700;cursor:pointer;border-radius:3px}
.app-card-msg:hover{background:#0b3529}
.app-card-body{padding:14px 16px}
.app-card-name{display:flex;justify-content:space-between;align-items:baseline}
.app-card-name strong{font-family:Georgia,serif;font-size:1.15rem}
.app-card-name span{color:#5e7364}
.app-card-loc{font-size:.82rem;color:#6b8071;margin:4px 0 6px}
.app-card-intro{font-size:.85rem;color:#44584a;margin:0;line-height:1.45}
.app-chat{background:#fff;border-left:1px solid #d9e2d9;display:flex;flex-direction:column;min-height:100vh;max-height:100vh}
.chat-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center;color:#6b8071}
.chat-placeholder span{font-size:2.4rem;margin-bottom:14px}
.chat-placeholder p{font-size:.92rem;line-height:1.55}
.chat-list{flex:1;overflow-y:auto;padding:10px}
.chat-row{display:flex;align-items:center;gap:11px;width:100%;padding:11px 10px;background:none;border:0;border-bottom:1px solid #edf1ec;text-align:left;cursor:pointer}
.chat-row:hover{background:#f4f7f3}
.chat-row img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.chat-row-body{flex:1;min-width:0}
.chat-row-body strong{display:block;font-size:.9rem;color:#173930}
.chat-row-body small{display:block;font-size:.78rem;color:#7a8c7e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-row-badge{background:#aa3a39;color:#fff;border-radius:10px;padding:2px 8px;font-size:.72rem;font-weight:700}
.chat-thread{flex:1;display:flex;flex-direction:column;min-height:0}
.chat-thread-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid #e2e8e2}
.chat-back{background:none;border:0;font-size:1.1rem;cursor:pointer;color:#315847;padding:4px 8px}
.chat-thread-head img{width:38px;height:38px;border-radius:50%;object-fit:cover}
.chat-thread-head strong{font-size:.95rem}
.chat-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px;background:#f6f8f5}
.chat-log .chat-bubble{max-width:80%;padding:9px 12px;border-radius:13px;font-size:.9rem;line-height:1.5}
.chat-log .chat-bubble p{margin:0;overflow-wrap:anywhere}
.chat-log .is-theirs{background:#fff;align-self:flex-start;border-bottom-left-radius:4px}
.chat-log .is-mine{background:#17483a;color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.chat-form{display:flex;gap:8px;padding:10px;border-top:1px solid #e2e8e2}
.chat-form textarea{flex:1;border:1px solid #c4d2c6;padding:10px;resize:none;font:inherit;font-size:.9rem}
.chat-form button{background:#17483a;color:#fff;border:0;padding:0 18px;cursor:pointer;font-weight:700}
.hidden{display:none!important}
@media(max-width:1200px){.app-body{grid-template-columns:200px 1fr}.app-body.app-chat-open{grid-template-columns:200px 1fr 320px}.app-center{padding:24px}.app-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.app-card-photo{height:220px}}
/* v1.6.9.5: mobile nav — the sidebar becomes a fixed horizontal scrollable tab bar */
@media(max-width:900px){.app-body{grid-template-columns:1fr}.app-body.app-chat-open{grid-template-columns:1fr}.app-sidebar{display:flex;flex-direction:row;position:fixed;top:0;left:0;right:0;z-index:60;padding:8px 12px;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;box-shadow:0 2px 10px #123c3022}.app-sidebar .brand{display:none}.app-sidebar-foot{display:none}.app-nav{flex-direction:row;gap:6px;flex:0 0 auto}.app-nav a{white-space:nowrap;padding:8px 12px;font-size:.85rem}.app-center{padding-top:66px;padding-left:14px;padding-right:14px}.app-chat{position:fixed;right:0;top:0;bottom:0;width:min(360px,90vw);z-index:50;box-shadow:-8px 0 24px #0002}.premium-grid{grid-template-columns:1fr}.premium-side{position:static;margin-top:8px}}

/* v1.3.1 Love Blueprint personality test */
.blueprint-body{margin:0;background:#f8f7f3;color:#173930;font-family:Arial,Helvetica,sans-serif}
.bp-topbar{display:flex;justify-content:space-between;align-items:center;padding:18px 32px;border-bottom:1px solid #dde5dc;background:#fff}
.bp-back{color:#315847;font-weight:700;font-size:.9rem}
.bp-wrap{max-width:1080px;margin:0 auto;padding:60px 24px 80px}
.bp-intro{text-align:center;max-width:640px;margin:0 auto}
.bp-intro h1{font-family:Georgia,serif;font-size:clamp(2.8rem,6vw,4.5rem);letter-spacing:-.04em;margin:18px 0 18px;line-height:1.05}
.bp-intro h1 em{color:#5e8365}
.bp-lead{font-size:1.15rem;color:#43584a;margin:0 0 14px}
.bp-intro>p:not(.bp-lead){color:#68806f;font-size:.95rem}
.bp-intro .button{margin-top:24px;min-width:240px}
.bp-note{font-size:.82rem;color:#82967f;margin-top:18px}
.bp-footnote{font-size:.8rem;color:#82967f;max-width:640px;margin:16px auto 0}.bp-footnote a{color:#21583c}
.bp-progress{display:flex;align-items:center;gap:14px;margin-bottom:20px;font-size:.85rem;color:#5f7365;font-weight:700}
.bp-bar{flex:1;height:4px;background:#dde5dc;border-radius:2px;overflow:hidden}
.bp-bar>div{height:100%;background:#17483a;width:0;transition:width .25s}
.bp-card{background:#fff;border:1px solid #dde5dc;padding:44px 44px;box-shadow:0 18px 45px rgba(20,57,43,.06)}
.bp-q-count{font-size:.78rem;letter-spacing:.15em;color:#6f8774;font-weight:700;margin:0 0 12px}
.bp-card h2{font-family:Georgia,serif;font-size:1.9rem;line-height:1.25;margin:0 0 28px;letter-spacing:-.02em}
.bp-option{display:flex;align-items:flex-start;gap:14px;border:1.5px solid #d6e0d5;padding:18px 20px;margin-bottom:12px;cursor:pointer;transition:all .15s;background:#fafcf9}
.bp-option:hover{border-color:#5d9474;background:#f0f6f0}
.bp-option input{margin-top:5px;accent-color:#17483a}
.bp-option:has(input:checked){border-color:#17483a;background:#e7f0e8}
.bp-opt-label{font-size:1rem;line-height:1.5}
.bp-actions{display:flex;justify-content:space-between;gap:14px;margin-top:26px}
.bp-result-head{text-align:center;margin-bottom:36px}
.bp-result-head h1{font-family:Georgia,serif;font-size:clamp(2.4rem,5vw,3.6rem);margin:14px 0 10px;letter-spacing:-.03em}
.bp-tagline{font-size:1.15rem;color:#556d5d;font-style:italic;margin:0}
.bp-result-grid{display:grid;grid-template-columns:minmax(0,380px) 1fr;gap:30px;align-items:start}
.bp-share-card{background:#fff;border:1px solid #dde5dc;padding:18px;text-align:center}
#share-canvas{width:100%;height:auto;display:block;border-radius:4px}
.bp-share-actions{display:flex;gap:10px;justify-content:center;margin-top:14px;flex-wrap:wrap}
.bp-copy-msg{font-size:.82rem;color:#5f7365;margin-top:8px}
.bp-result-side h3{font-family:Georgia,serif;font-size:1.5rem;margin:0 0 12px}
.bp-result-side ul{padding-left:20px;color:#43584a;line-height:1.7;margin:0 0 22px}
.bp-match{background:#edf2eb;padding:14px 18px;border-left:3px solid #17483a;font-size:.95rem}
.bp-match strong{color:#17483a}
.bp-cta{background:#17483a;color:#f3f5ed;padding:26px 28px;margin-top:24px}
.bp-cta h3{color:#fff;margin-bottom:8px}
.bp-cta p{color:#c8d8cc;font-size:.92rem}
.bp-cta .button{background:#fff;color:#17483a;margin-top:10px}
.bp-login{display:block;color:#c8d8cc;font-size:.85rem;margin-top:14px;text-decoration:underline}
.bp-restart{background:none;border:0;color:#5f7365;cursor:pointer;margin-top:22px;font-size:.88rem;text-decoration:underline}
.bp-footer{background:#153d31;color:#c8d8cc;text-align:center;padding:22px;font-size:.82rem}.bp-footer-company{font-size:.72rem;color:#93ad9a;margin-top:10px}.bp-footer-company a{color:#cfe0d3}
.bp-footer a{color:#fff;text-decoration:underline}
.hidden{display:none!important}
@media(max-width:760px){.bp-wrap{padding:36px 16px 60px}.bp-card{padding:28px 22px}.bp-result-grid{grid-template-columns:1fr}.bp-share-card{max-width:420px;margin:0 auto}}

/* v1.3.3 social share + 4-option layout */
.bp-social-row{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:12px;flex-wrap:wrap}
.bp-social-btn{width:44px;height:44px;border-radius:50%;border:1.5px solid #d6e0d5;background:#fff;color:#17483a;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}
.bp-social-btn:hover{background:#17483a;color:#fff;border-color:#17483a;transform:translateY(-2px)}
.bp-social-btn[data-net="facebook"]{color:#1877f2}
.bp-social-btn[data-net="facebook"]:hover{background:#1877f2;color:#fff}
.bp-social-btn[data-net="whatsapp"]{color:#25d366}
.bp-social-btn[data-net="whatsapp"]:hover{background:#25d366;color:#fff}
.bp-social-btn[data-net="telegram"]{color:#0088cc}
.bp-social-btn[data-net="telegram"]:hover{background:#0088cc;color:#fff}
.bp-social-btn[data-net="x"]{color:#000}
.bp-social-btn[data-net="x"]:hover{background:#000;color:#fff}
.bp-social-btn[data-net="linkedin"]{color:#0a66c2}
.bp-social-btn[data-net="linkedin"]:hover{background:#0a66c2;color:#fff}
.bp-option{padding:14px 18px;font-size:.95rem}

/* v1.4.0 like buttons + tabs */
.app-card-actions{position:absolute;bottom:8px;left:8px;right:8px;display:flex;gap:8px;z-index:2}
.app-card-like{width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#c0392b;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.15);transition:all .15s}
.app-card-like:hover{transform:scale(1.1)}
.app-card-like.is-liked{background:#c0392b;color:#fff}
.app-card-msg{flex:1;height:44px;border-radius:22px;border:0;background:#17483a;color:#fff;font-weight:700;cursor:pointer}
/* v1.9.9: block / report actions on like & match cards */
.app-card-safety{display:flex;gap:6px;margin-top:10px}
.app-card-safety button{flex:1;background:none;border:1px solid #d7e2da;color:#55715f;font-size:.72rem;font-weight:600;padding:6px 8px;border-radius:7px;cursor:pointer}
.app-card-safety button:hover{background:#eef3ea;color:#173930}
.app-card-safety button.is-danger:hover{background:#fdecea;border-color:#e0b4b4;color:#a93a3a}
.bp-tabs{display:flex;gap:8px;margin:20px 0}
.bp-tab{padding:10px 18px;border-radius:22px;border:1.5px solid #dde5dc;background:#fff;cursor:pointer;font-weight:600;color:#5f7365}
.bp-tab.is-active{background:#17483a;color:#fff;border-color:#17483a}
.nav-badge{display:inline-block;min-width:18px;padding:0 5px;height:18px;line-height:18px;border-radius:9px;background:#c0392b;color:#fff;font-size:11px;font-weight:700;text-align:center;margin-left:6px}
.hidden{display:none!important}

.photo-stats{display:flex;gap:12px;margin:16px 0}
.stat-card{flex:1;background:#f8f7f3;border-radius:12px;padding:16px;text-align:center}
.stat-num{display:block;font-size:28px;font-weight:800;color:#17483a}
.stat-label{font-size:13px;color:#5f7365}

.photo-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin:16px 0}
.photo-tile{position:relative;background:#eee;border-radius:10px;overflow:hidden;aspect-ratio:1;display:flex;flex-direction:column}
.photo-tile img{width:100%;flex:1;min-height:0;object-fit:cover}
.photo-tile.is-primary{outline:3px solid #17483a}
.photo-badge{position:absolute;top:8px;left:8px;background:#17483a;color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:10px}
.photo-actions{display:flex;gap:6px;padding:8px;background:#fff}
.mini-btn{flex:1;padding:6px 8px;border:1px solid #dde5dc;background:#fff;border-radius:6px;font-size:12px;cursor:pointer}
.mini-danger{color:#c0392b;border-color:#f5c6cb}

/* v1.5.0a profile view + card links */
/* v1.7.0 premium: home usage line + locked likes text */
.home-limit{display:inline-block;margin:0 0 14px;padding:8px 12px;background:#edf2eb;border:1px solid #d5e3d4;border-radius:8px;font-size:.85rem;color:#42614a}.home-limit a{color:#17483a;font-weight:700;text-decoration:underline}.home-limit.is-premium{background:#e3efe6;border-color:#b9d6c2}.app-card-locked{color:#8a968d;font-style:italic}
.app-card-photo a{display:block}
.app-card-photo a img{width:100%;height:100%;object-fit:cover}
.app-card-photo-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e8efe6,#d4e2d2);color:#2f5a4a;font-size:2.6rem;font-weight:700;letter-spacing:.02em}
.app-card-name a{color:#17483a;text-decoration:none}
.app-card-name a:hover{text-decoration:underline}
.profile-view-wrap{max-width:640px}
.profile-view-card{background:#fff;border:1px solid #e3e7e2;border-radius:14px;padding:24px}
.profile-view-head{display:flex;gap:16px;align-items:flex-start;margin-bottom:18px}
.profile-view-photo{width:96px;height:96px;border-radius:12px;object-fit:cover}
.profile-view-id h2{margin:0 0 4px;color:#17483a}
.profile-view-loc{margin:0 0 8px;color:#5f7365;font-size:14px}
.profile-view-badges{display:flex;flex-wrap:wrap;gap:6px}
.pv-badge{background:#eef3ec;color:#17483a;font-size:12px;font-weight:600;padding:3px 10px;border-radius:12px}
.profile-view-card h3{margin:18px 0 6px;font-size:15px;color:#17483a}
.profile-view-text{margin:0 0 6px;color:#3a4a40;line-height:1.55;white-space:pre-line}
.profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin-top:6px}
.profile-field{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px dashed #e7ece6;font-size:14px}
.profile-field-label{color:#5f7365}
.profile-field-value{color:#2c3b31;text-align:right}
.pv-private{color:#b9c2bb;font-style:italic}
.profile-view-actions{display:flex;gap:10px;align-items:center;margin-top:20px}
.profile-view-actions .app-card-like{width:44px;height:44px;border-radius:50%;border:0;background:#17483a;color:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.profile-view-actions .app-card-like.is-liked{background:#c0392b}
.is-heart.is-liked{background:#c0392b!important;color:#fff!important}
.member-check-inline{display:flex;align-items:center;gap:6px;font-size:13px;color:#5f7365;margin-top:8px;white-space:nowrap}
/* v1.5.0a fix: card photo link overlay */
.app-card-photo{position:relative}
.app-card-photo a{position:absolute;inset:0;z-index:1}
.app-card-photo a img{width:100%;height:100%;object-fit:cover;display:block}
.app-card-actions{z-index:2}
/* v1.5.1 skip button + reason + intentions quiz */
.app-card-skip{width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#5f7365;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.15);transition:all .15s}
.app-card-skip:hover{transform:scale(1.1);color:#c0392b}
.app-card-reason{margin:6px 0 2px;font-size:12px;color:#2f7d5c;font-weight:600;line-height:1.4}
.intent-progress{display:flex;align-items:center;gap:10px;margin-bottom:18px;font-size:14px;color:#5f7365}
.intent-progress-num{font-weight:800;color:#17483a}
.intent-bar{flex:1;height:8px;background:#e7ece6;border-radius:4px;overflow:hidden}
.intent-bar-fill{height:100%;background:#17483a;border-radius:4px;transition:width .3s}
.intent-question{padding:14px 0;border-bottom:1px solid #eef1ec}
.intent-q-text{margin:0 0 10px;font-weight:600;color:#2c3b31;line-height:1.45}
.intent-options{display:flex;gap:8px;flex-wrap:wrap}
.intent-option{flex:1;min-width:130px;border:1.5px solid #dde5dc;border-radius:10px;padding:10px 12px;cursor:pointer;background:#fff;transition:all .15s;position:relative}
.intent-option input{position:absolute;top:0;left:0;width:1px;height:1px;opacity:0;pointer-events:none}
.intent-option-label{display:block;font-weight:700;font-size:14px;color:#2c3b31}
.intent-option-hint{display:block;font-size:11px;color:#8a968d;margin-top:2px}
.intent-option.is-active{border-color:#17483a;background:#eef3ec}
.intent-option.is-active .intent-option-label{color:#17483a}
/* v1.5.2 home dashboard + report */
.home-progress{background:#fff;border:1px solid #e3e7e2;border-radius:12px;padding:14px 16px;margin-bottom:14px}
.home-progress-text{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#2c3b31;margin-bottom:8px}
.home-progress-text a{color:#17483a;font-weight:600}
.home-progress-bar{height:8px;background:#e7ece6;border-radius:4px;overflow:hidden}
.home-progress-fill{height:100%;background:#17483a;border-radius:4px;transition:width .3s}
.home-guide{margin:0 0 14px;padding:10px 12px;background:#fdf6e3;border:1px solid #eed9a4;border-radius:8px;font-size:.85rem;color:#6d5a1e}
.pv-active{color:#2f7d46;font-weight:600}
.pv-verify{display:inline-block;padding:2px 8px;border-radius:20px;background:#e3efe6;border:1px solid #b9d6c2;color:#17483a;font-size:.78rem;font-weight:600}
.profile-prompts{display:grid;gap:10px;margin:10px 0 18px}
.profile-prompt{background:#f4f7f2;border:1px solid #dde6da;border-radius:10px;padding:10px 12px}
.profile-prompt-q{display:block;font-weight:700;color:#17483a;font-size:.9rem;margin-bottom:4px}
.profile-prompt-a{display:block;color:#3c5044;font-size:.9rem;line-height:1.5}
.prompt-row{align-items:end}
.prompt-row .prompt-custom{margin-top:6px}
.member-hint{font-weight:400;color:#7a8a80;font-size:.78rem}
.app-card-note{margin:6px 0 0;padding:8px 10px;background:#eef5ec;border-left:3px solid #b9d6c2;border-radius:6px;font-size:.84rem;color:#2c5a3d;font-style:italic;line-height:1.4}
.chat-icebreakers{margin-bottom:8px;font-size:.8rem;color:#6b8071;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.icebreaker-btn{background:#edf2eb;border:1px solid #d5e3d4;color:#17483a;border-radius:16px;padding:4px 10px;font-size:.78rem;cursor:pointer}
.icebreaker-btn:hover{background:#dce9da}
.oauth-stack{display:grid;gap:8px;margin-bottom:16px}
.oauth-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 14px;border:1px solid #d5dde0;border-radius:10px;background:#fff;color:#2c3b31;font-weight:600;font-size:.92rem;text-decoration:none}
.oauth-btn:hover{border-color:#a8b8bd;background:#f6f9f7}
.oauth-ico{display:inline-flex;align-items:center;justify-content:center;min-width:18px;font-size:.8rem;font-weight:800;letter-spacing:.02em}
.oauth-google .oauth-ico{color:#4285F4}
.oauth-apple .oauth-ico{color:#1d1d1f}
.oauth-yahoo .oauth-ico{color:#6001D2}
.oauth-divider{display:flex;align-items:center;gap:10px;color:#8a968d;font-size:.78rem;margin:4px 0}
.oauth-divider::before,.oauth-divider::after{content:'';flex:1;height:1px;background:#e3e7e2}
.oauth-link-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #eef1ee}
.oauth-link-row:last-of-type{border-bottom:none}
.oauth-link-name{font-weight:600;min-width:90px}
.oauth-link-status{color:#7a8a80;font-size:.85rem;margin-right:auto}
.oauth-link-status.is-linked{color:#2f7d46;font-weight:600}
.home-pending{background:#fff;border:1px solid #e3e7e2;border-radius:12px;padding:14px 16px;margin-bottom:18px}
.home-pending h2{margin:0 0 8px;font-size:15px;color:#17483a}
.home-pending-row{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;padding:10px 12px;border:0;background:#f8f7f3;border-radius:8px;cursor:pointer;margin-bottom:6px}
.home-pending-row:hover{background:#eef3ec}
.home-pending-name{font-weight:700;color:#17483a;font-size:14px}
.home-pending-body{font-size:13px;color:#5f7365;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-section-title{margin:4px 0 12px;font-size:16px;color:#17483a}
.report-box{background:#fdf3f3;border:1px solid #f5c6cb;border-radius:10px;padding:14px;margin-top:14px}
.report-title{margin:0 0 8px;font-weight:700;color:#8a2f2f}
.report-box select,.report-box textarea{width:100%;margin-bottom:8px;padding:8px;border:1px solid #dde5dc;border-radius:6px;font-size:14px}
.report-actions{display:flex;gap:8px;justify-content:flex-end}
/* v1.5.3 admin reports + members */
.report-card{margin-bottom:16px}
.report-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.report-head h2{margin:4px 0 2px}
.report-head h2 small{font-weight:400;color:#8a968d}
.report-head p{margin:0;color:#5f7365;font-size:13px}
.report-actions{display:flex;gap:8px}
.member-search{display:flex;gap:8px;margin-bottom:16px}
.member-search input{flex:1;max-width:420px;padding:10px 12px;border:1px solid #dde5dc;border-radius:8px;font-size:14px}
.admin-table{width:100%;border-collapse:collapse;font-size:14px}
.admin-table th,.admin-table td{padding:10px 12px;border-bottom:1px solid #eef1ec;text-align:left;vertical-align:middle}
.admin-table th{color:#5f7365;font-size:12px;text-transform:uppercase;letter-spacing:.4px}
.status-chip{display:inline-block;padding:2px 10px;border-radius:20px;font-size:12px;font-weight:700}
.status-active{background:#e6f2e8;color:#1d6b34}
.status-banned{background:#fde8e8;color:#a12a2a}
.status-deleted{background:#eceff1;color:#5f7365}
.status-pending{background:#fff3d6;color:#8a6d1a}
.inline-form{display:flex;gap:6px}
/* v1.5.4 homepage + blueprint FAQ */
.steps-quad{grid-template-columns:repeat(4,1fr);gap:18px}
@media (max-width:900px){.steps-quad{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.steps-quad{grid-template-columns:1fr}}
.bp-result-note{margin:14px 0;padding:12px 14px;background:#f8f7f3;border-left:3px solid #d8c9a3;font-size:13px;line-height:1.6;color:#5f6b62}
.bp-faq{max-width:760px;margin:48px auto 8px;padding:0 24px}
.bp-faq .kicker{margin-bottom:6px}
.bp-faq h2{margin:0 0 18px;font-size:26px;color:#17483a}
.bp-faq details{border:1px solid #e3e7e2;border-radius:10px;margin-bottom:10px;background:#fff;overflow:hidden}
.bp-faq summary{cursor:pointer;padding:14px 18px;font-weight:700;color:#2c3b31;list-style:none;display:flex;justify-content:space-between;align-items:center}
.bp-faq summary::-webkit-details-marker{display:none}
.bp-faq summary::after{content:"+";color:#17483a;font-size:20px;line-height:1}
.bp-faq details[open] summary::after{content:"−"}
.bp-faq details p{margin:0;padding:0 18px 16px;color:#5f7365;font-size:14px;line-height:1.65}
/* v1.6.0 admin error log */
.admin-tabs{display:flex;gap:14px;flex-wrap:wrap;margin:0 0 14px}
.admin-tabs .text-link{font-size:14px}
/* v1.6.1 notifications + analytics */
.notify-list{list-style:none;margin:0;padding:0}
.notify-list li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid #eef1ec}
.notify-list li:last-child{border-bottom:0}
.notify-icon{width:36px;height:36px;border-radius:50%;background:#eef3ec;color:#17483a;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.notify-body{flex:1;min-width:0}
.notify-body p{margin:2px 0 4px;color:#5f7365;font-size:14px;line-height:1.5}
.notify-body small{color:#8a968d;font-size:12px}
.funnel-track{width:160px;height:8px;background:#e7ece6;border-radius:4px;overflow:hidden}
.funnel-fill{height:100%;background:#17483a;border-radius:4px}
.trend-bars{display:flex;gap:6px;align-items:flex-end;height:120px;padding-top:8px}
.trend-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;justify-content:flex-end}
.trend-bar{width:100%;max-width:28px;background:#17483a;border-radius:3px 3px 0 0}
.trend-col small{font-size:10px;color:#8a968d;white-space:nowrap}
/* v1.6.2 pricing page */
.bp-nav{display:flex;gap:16px;align-items:center;font-size:14px}
.bp-nav a{color:#5f7365;text-decoration:none;font-weight:600}
.bp-nav a:hover{color:#17483a}
.price-table-wrap{max-width:760px;margin:36px auto 8px;padding:0 24px}
.price-table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;border:1px solid #e3e7e2;font-size:14px}
.price-table th,.price-table td{padding:12px 14px;border-bottom:1px solid #eef1ec;text-align:left;vertical-align:top}
.price-table thead th{background:#f8f7f3;color:#5f7365;font-size:12px;text-transform:uppercase;letter-spacing:.4px}
.price-table .price-plus{color:#17483a}
.price-table .price-plus small{font-weight:400;text-transform:none;letter-spacing:0;font-size:12px;color:#8a968d;display:block}
.price-table td.price-yes{color:#1d6b34;font-weight:700}
.price-table td.price-plus-cell{color:#17483a;font-weight:600}
.price-table tbody tr:last-child td{border-bottom:0}
/* ============ v1.6.3 responsive unification + emoji picker ============ */

/* Emoji picker */
.chat-input-row{display:flex;gap:8px;align-items:stretch}
.chat-input-row textarea{flex:1;border:1px solid #c4d2c6;padding:10px;resize:none;font:inherit;font-size:.9rem;border-radius:0}
.chat-input-row button{background:#17483a;color:#fff;border:0;padding:0 18px;cursor:pointer;font-weight:700}
.chat-emoji-btn{background:#f3f6f2!important;color:#17483a!important;font-size:1.15rem;padding:0 12px!important}
.chat-emoji-panel{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;padding:8px;border-top:1px solid #e2e8e2;max-height:150px;overflow-y:auto}
.chat-emoji-cell{background:none;border:0;font-size:1.25rem;padding:4px;cursor:pointer;border-radius:6px;line-height:1}
.chat-emoji-cell:hover{background:#eef3ec}

/* Chat drawer controls (hidden on desktop) */
.chat-toggle{display:none}
.chat-close{display:none}

/* Desktop: slightly tighter; only chat pages keep the third column */
@media (min-width:901px) and (max-width:1200px){
  .app-body{grid-template-columns:200px 1fr}
  .app-body.app-chat-open{grid-template-columns:200px 1fr 320px}
  .app-center{padding:24px}
  .app-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
  .app-card-photo{height:220px}
}

/* Tablet + phone: unified single-column; sidebar becomes a top bar; chat is a drawer */
@media (max-width:900px){
  .app-body{grid-template-columns:1fr;display:block}
  .app-body.app-chat-open{grid-template-columns:1fr;display:block}
  .app-sidebar{display:flex;flex-direction:row;align-items:center;gap:14px;padding:10px 14px;position:sticky;top:0;z-index:40}
  .app-sidebar .brand{margin-bottom:0;white-space:nowrap}
  .app-sidebar .brand span:last-child{font-size:.95rem}
  .app-nav{display:flex;overflow-x:auto;gap:14px;flex:1;padding-bottom:2px;scrollbar-width:none}
  .app-nav::-webkit-scrollbar{display:none}
  .app-nav a{white-space:nowrap;font-size:.85rem;padding:4px 0;border-bottom:2px solid transparent}
  .app-nav a.is-active{border-bottom-color:#fff;color:#fff}
  .app-sidebar-foot{flex-direction:row;gap:10px;border-top:0;padding-top:0}
  .app-sidebar-foot button{font-size:.8rem}
  .app-center{max-height:none;overflow:visible;padding:18px 14px 90px}
  .app-chat{position:fixed;right:0;top:0;bottom:0;width:min(400px,94vw);z-index:60;box-shadow:-8px 0 24px #0003;display:none}
  .app-chat.is-open{display:flex}
  .chat-toggle{display:inline-flex;align-items:center;gap:6px;background:#17483a;color:#fff;border:0;padding:9px 14px;border-radius:20px;font-weight:700;cursor:pointer;margin-bottom:12px;font-size:.85rem}
  .chat-close{display:flex;position:absolute;top:10px;right:10px;z-index:5;width:30px;height:30px;align-items:center;justify-content:center;background:#eef3ec;border:0;border-radius:50%;color:#17483a;font-size:.85rem;cursor:pointer}
  /* v1.8.9: member card + settings become a fixed bottom bar on mobile */
  .app-sidebar-foot{display:flex;flex-direction:row;align-items:center;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:70;background:#17483a;border-top:1px solid #2c5a46;padding:8px 12px;margin:0}
  .app-sidebar-foot .app-me-row{flex:1;align-items:center;margin-bottom:0;min-width:0}
  .app-sidebar-foot .app-me{display:flex;align-items:center;gap:8px;padding:6px 10px;background:transparent;flex:1}
  .app-sidebar-foot .app-me:hover{background:#ffffff14}
  .app-sidebar-foot .app-me-email{display:block;max-width:34vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:normal;opacity:.9}
  .app-sidebar-foot .app-me-plan{margin-top:0;flex:none}
  .app-sidebar-foot .app-me-cta{margin-top:0;font-size:.72rem;flex:none}
  .app-sidebar-foot .app-settings-btn{width:38px;min-height:38px;background:#ffffff14}
  .app-sidebar-foot .app-settings-menu{max-width:calc(100vw - 24px)}
  .app-center{padding-bottom:70px}
}

/* Phone */
@media (max-width:560px){
  .app-sidebar{padding:8px 10px;gap:10px}
  .app-sidebar .brand span:last-child{display:none}
  .app-nav{gap:12px}
  .app-chat{width:100%}
  .app-card-photo{height:230px}
  .app-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
  .chat-emoji-panel{grid-template-columns:repeat(7,1fr)}
  .member-header nav{flex-wrap:nowrap;overflow-x:auto;width:100%}
  .member-header nav a{white-space:nowrap}
}

/* Ultra-narrow (in-app browsers ~220px): keep forms usable */
@media (max-width:480px){
  .auth-card{padding:0}
  .member-card{padding:20px 14px}
  .member-form input:not([type=checkbox]),.member-form select,.member-form textarea{padding:11px 10px;font-size:.95rem}
  .member-heading h1{font-size:2.1rem}
  .member-heading .kicker{font-size:.62rem}
  .price-table{font-size:12px}
  .price-table th,.price-table td{padding:9px 8px}
  .bp-topbar{padding:14px 16px}
  .bp-nav{gap:10px;font-size:.78rem}
  .bp-wrap{padding:30px 12px 55px}
  .bp-intro h1{font-size:2.6rem}
}
/* ============ v1.6.4 GDPR cookie banner ============ */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:999;background:#153d31;color:#e7ece4;padding:14px 20px;font-size:.88rem;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;box-shadow:0 -6px 18px #0003}
.cookie-banner p{margin:0;max-width:780px;line-height:1.55}
.cookie-banner a{color:#cfe4d4;text-decoration:underline}
.cookie-actions{display:flex;gap:10px;flex-shrink:0;align-items:center}
.cookie-actions button{background:#fff;color:#153d31;border:0;padding:9px 20px;font-weight:700;cursor:pointer;border-radius:2px;font-size:.85rem}
.cookie-actions a{background:none;border:1px solid #6f9a80;color:#e7ece4;padding:8px 16px;border-radius:2px;font-size:.85rem;text-decoration:none;display:inline-flex;align-items:center}
@media(max-width:560px){.cookie-banner{flex-direction:column;align-items:stretch;text-align:left}.cookie-actions{width:100%}.cookie-actions button,.cookie-actions a{justify-content:center;text-align:center}}
/* ============ v1.6.5 unified member layout ============ */
.member-center{max-width:1080px;margin:0 auto;width:100%}
.member-center .member-heading h1{font-size:clamp(2.2rem,4vw,3.2rem)}
.member-center .member-workspace{grid-template-columns:1fr}
@media(max-width:900px){.member-center{max-width:none}}

/* ---- v1.8.10: language switch ---- */
.lang-switch{position:relative;margin-left:10px;flex:0 0 auto}
.lang-current{display:inline-flex;align-items:center;gap:6px;border:1px solid #cbd7cf;background:#fff;color:#17483a;font-size:.82rem;font-weight:600;padding:7px 11px;border-radius:8px;cursor:pointer;font-family:inherit}
.lang-current:hover{border-color:#a9bfb2}
.lang-caret{font-size:.7rem;opacity:.7}
.lang-menu{display:none;position:absolute;top:calc(100% + 6px);right:0;min-width:150px;background:#fff;border:1px solid #e2ddd2;border-radius:10px;box-shadow:0 12px 28px #123c3022;padding:6px;z-index:80}
.lang-switch.is-open .lang-menu{display:grid;gap:2px}
.lang-option{display:block;padding:8px 12px;border-radius:7px;font-size:.86rem;color:#38584d;text-decoration:none;white-space:nowrap}
.lang-option:hover{background:#eef3ee}
.lang-option.is-current{font-weight:700;color:#17483a;background:#e7eee9}
[dir=rtl] .lang-menu{right:auto;left:0}
@media(max-width:900px){.lang-current{padding:6px 9px}.lang-menu{min-width:140px}}
.intent-q-type{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#5f8467;margin-left:8px;border:1px solid #b8cbbb;border-radius:10px;padding:2px 8px;vertical-align:middle}