
:root{
 --ink:#18171d;--muted:#6d6973;--soft:#f7f5f7;--line:#e8e3e8;
 --brand:#c91668;--brand2:#7b2cbf;--dark:#15131a;--dark2:#201c25;
 --white:#fff;--max:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65}
body.locked{overflow:hidden}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button{font:inherit}
.container{width:min(var(--max),calc(100% - 36px));margin:auto}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:9999;background:#fff;padding:10px}
.notice{background:#15131a;color:#d9d5dc;font-size:12px}
.notice .container{min-height:34px;display:flex;align-items:center;justify-content:space-between}
.header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{min-height:76px;display:flex;align-items:center;gap:24px}
.brand{font-weight:900;font-size:23px;letter-spacing:-.9px;white-space:nowrap}
.brand .love{color:var(--ink)}.brand .sex{color:var(--brand)}.brand .dot{color:var(--muted)}
.navlinks{margin-left:auto;display:flex;align-items:center;gap:24px;font-size:14px;font-weight:700;color:#44414a}
.navlinks a:hover,.navlinks a.current{color:var(--brand)}
.navlinks .join{color:#fff;background:var(--ink);padding:11px 17px;border-radius:10px}
.navlinks .join:hover{background:var(--brand);color:#fff}
.menu{display:none;margin-left:auto;width:43px;height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}
.menu i{display:block;width:19px;height:2px;background:#222;margin:4px auto;border-radius:4px}
.hero{background:linear-gradient(135deg,#fff 0%,#fbf8fa 55%,#f7edf3 100%);border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:60px;align-items:center;padding:76px 0}
.kicker{font-size:12px;font-weight:900;letter-spacing:1.5px;color:var(--brand);text-transform:uppercase}
h1{font-size:clamp(43px,6vw,72px);line-height:1.03;letter-spacing:-3.3px;margin:13px 0 22px}
.hero h1 span{color:var(--brand)}
.hero p{max-width:620px;color:var(--muted);font-size:18px}
.actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:10px;font-weight:850;font-size:14px;border:1px solid transparent;transition:.2s}
.btn:hover{transform:translateY(-1px)}
.primary{background:var(--brand);color:#fff;box-shadow:0 10px 25px rgba(201,22,104,.18)}
.secondary{border-color:#d9d2da;background:#fff}
.hero-art{position:relative;border-radius:24px;overflow:hidden;box-shadow:0 24px 60px rgba(39,26,40,.14);background:#ddd}
.hero-art img{width:100%;height:500px;object-fit:cover}
.art-label{position:absolute;left:18px;bottom:18px;right:18px;background:rgba(20,18,25,.82);color:#fff;border-radius:12px;padding:13px 15px;backdrop-filter:blur(10px);font-size:13px}
.trust{border-bottom:1px solid var(--line);background:#fff}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-item{padding:22px 15px;text-align:center;border-right:1px solid var(--line)}.trust-item:last-child{border-right:0}.trust-item strong{display:block;font-size:18px}.trust-item span{color:var(--muted);font-size:12px}
.section{padding:76px 0}.section.soft{background:var(--soft)}
.center{max-width:750px;margin:0 auto 38px;text-align:center}.label{font-size:11px;font-weight:900;letter-spacing:1.5px;color:var(--brand);text-transform:uppercase}.center h2{font-size:clamp(30px,4vw,46px);line-height:1.12;letter-spacing:-1.8px;margin:8px 0 12px}.center p{color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:25px}.card-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:#f9eaf2;color:var(--brand);margin-bottom:16px}.card h3{margin:0 0 7px;font-size:18px}.card p{color:var(--muted);font-size:14px;margin:0}
.split{display:grid;grid-template-columns:.95fr 1.05fr;gap:55px;align-items:center}.split-image{border-radius:22px;overflow:hidden}.split-image img{width:100%;aspect-ratio:4/3;object-fit:cover}.copy h2{font-size:clamp(31px,4vw,45px);line-height:1.1;letter-spacing:-1.7px;margin:8px 0 17px}.copy p{color:var(--muted);margin:0 0 15px}.copy ul{color:var(--muted);padding-left:20px}.copy li{margin:7px 0}
.topic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.topic{border:1px solid var(--line);border-radius:14px;padding:19px;background:#fff}.topic a{font-weight:850;color:var(--brand)}.topic p{font-size:13px;color:var(--muted);margin:5px 0 0}
.cta{background:var(--dark);color:#fff;padding:62px 0}.cta-inner{text-align:center;max-width:760px;margin:auto}.cta h2{font-size:clamp(31px,4vw,46px);letter-spacing:-1.8px;margin:0 0 10px}.cta p{color:#c7c1cb;margin:0 0 24px}
footer{background:#0e0d12;color:#b9b5bd;padding:52px 0 24px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:30px}.footer-brand{color:#fff;font-size:19px;font-weight:900}.footer-grid h3{color:#fff;font-size:13px;margin:0 0 12px}.footer-grid ul{list-style:none;margin:0;padding:0}.footer-grid li{margin:7px 0;font-size:13px}.footer-grid a:hover{color:#fff}.copyright{border-top:1px solid #29262d;margin-top:28px;padding-top:18px;font-size:11px;color:#7f7a83}
.breadcrumb{background:#faf8fa;border-bottom:1px solid var(--line);padding:16px 0;font-size:12px;color:#77727b}.breadcrumb a{color:var(--brand);font-weight:700}
.page-head{padding:62px 0 28px;text-align:center}.page-head h1{font-size:clamp(39px,5vw,60px);margin:8px 0 14px}.page-head p{max-width:720px;margin:auto;color:var(--muted)}
.prose{max-width:820px;margin:auto}.prose h2{font-size:30px;letter-spacing:-1px;margin:32px 0 10px}.prose p,.prose li{color:var(--muted)}.prose li{margin:6px 0}
.chat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.chat-card{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.chat-head{display:flex;align-items:center;justify-content:space-between;padding:17px}.chat-head h2{font-size:17px;margin:0}.status{width:9px;height:9px;border-radius:50%;background:#25b978;box-shadow:0 0 0 5px rgba(37,185,120,.1)}.frame{height:430px;background:#f0eef1}.frame iframe{width:100%;height:100%;border:0}.chat-note{font-size:11px;color:#888;padding:10px 17px 15px}
.age{position:fixed;inset:0;background:rgba(15,13,18,.78);backdrop-filter:blur(8px);z-index:99999;display:flex;align-items:center;justify-content:center;padding:18px}.agebox{width:min(430px,100%);background:#fff;border-radius:18px;padding:29px;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.3)}.agebox .symbol{font-size:34px}.agebox h2{margin:7px 0;font-size:24px}.agebox p{font-size:14px;color:var(--muted)}.age-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}.age-actions button{border:0;border-radius:10px;padding:12px;font-weight:850;cursor:pointer}.age-yes{background:var(--brand);color:#fff}.age-no{background:#eee9ed;color:#222}.redirect{display:none}
@media(max-width:980px){.navlinks{gap:13px}.hero-grid{gap:35px}.cards{grid-template-columns:repeat(2,1fr)}.topic-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.chat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){
 .notice .secondary-notice{display:none}
 .menu{display:block}.navlinks{position:fixed;left:0;right:0;top:110px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 20px 35px rgba(0,0,0,.12);padding:10px 18px 18px;display:none;flex-direction:column;align-items:stretch;gap:0}.navlinks.open{display:flex}.navlinks a{padding:13px 7px;border-bottom:1px solid #f0edf0}.navlinks .join{text-align:center;margin-top:8px;border-bottom:0}
 .brand{font-size:20px}.hero-grid{grid-template-columns:1fr;padding:52px 0}.hero-art img{height:350px}.hero p{font-size:16px}h1{letter-spacing:-2px}.trust-grid{grid-template-columns:1fr 1fr}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.split{grid-template-columns:1fr;gap:30px}.cards,.chat-grid,.topic-grid{grid-template-columns:1fr}.section{padding:58px 0}.footer-grid{grid-template-columns:1fr}.age-actions{grid-template-columns:1fr}
}

/* Long-form SEO content */
.seo-content{padding-top:10px}.seo-intro{max-width:900px;margin:0 auto 34px;text-align:center}.seo-intro h2{font-size:clamp(1.55rem,3vw,2.2rem);line-height:1.2;margin:10px 0 14px}.seo-intro p{color:#625d67;line-height:1.8}.seo-block{max-width:920px;margin:0 auto;padding:30px 0;border-top:1px solid #ece7ee}.seo-block-soft{background:linear-gradient(180deg,#faf8fb 0%,#fff 100%);padding:30px 26px;border-radius:18px;border-top:0;margin-top:8px;margin-bottom:8px}.seo-block h2,.faq-wrap h2{font-size:1.35rem;margin:0 0 12px}.seo-block p{margin:0;color:#4f4a54;line-height:1.82}.seo-block a,.faq-wrap a{color:#c91668;font-weight:700}.faq-wrap{max-width:920px;margin:42px auto 0;padding:30px 0;border-top:1px solid #ece7ee}.faq-wrap .label{margin-bottom:6px}.faq-wrap details{border:1px solid #e8e2ea;border-radius:14px;margin:10px 0;background:#fff;overflow:hidden}.faq-wrap summary{cursor:pointer;padding:16px 18px;font-weight:800;list-style:none}.faq-wrap summary::-webkit-details-marker{display:none}.faq-wrap details p{padding:0 18px 17px;margin:0;color:#5e5963;line-height:1.7}.chat-card .frame{min-height:560px}.chat-card iframe{width:100%;min-height:560px;border:0;display:block;background:#fff}.chat-note{line-height:1.55}
@media (max-width:700px){.seo-block-soft{padding:24px 18px}.seo-block{padding:25px 0}.chat-card .frame,.chat-card iframe{min-height:520px}}


/* Dedicated room links */
.room-open{display:block;width:max-content;max-width:calc(100% - 24px);margin:10px auto 0;padding:7px 13px;border:1px solid rgba(123,44,191,.22);border-radius:999px;background:#fff;color:#7b2cbf;font-size:.78rem;font-weight:800;line-height:1.2;text-decoration:none;text-align:center;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.room-open:hover{background:#faf5ff;box-shadow:0 5px 16px rgba(123,44,191,.12);transform:translateY(-1px)}
.room-open:focus-visible{outline:3px solid rgba(123,44,191,.25);outline-offset:3px}
.room-page{padding-bottom:42px}
.room-view{background:#111018;border-radius:24px;padding:12px;box-shadow:0 20px 60px rgba(21,19,26,.14)}
.room-view .room-frame{height:min(78vh,900px);min-height:560px;overflow:hidden;border-radius:16px;background:#050507}
.room-view .room-frame iframe{display:block;width:100%;height:100%;border:0;background:#050507}
.room-actions{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;padding:13px 4px 2px}
.room-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 16px;border-radius:999px;text-decoration:none;font-weight:800;font-size:.84rem}
.room-actions .primary{background:#c91668;color:#fff;box-shadow:0 8px 22px rgba(201,22,104,.18)}
.room-actions .secondary{background:#fff;color:#25222b;border:1px solid #e8e3eb}
.room-help{margin:10px auto 0;max-width:760px;color:#756f79;font-size:.86rem;text-align:center}
@media (max-width:720px){.room-view{padding:7px;border-radius:17px}.room-view .room-frame{height:78vh;min-height:500px;border-radius:12px}.room-actions{padding-top:10px}.room-actions a{width:100%;max-width:320px}}

/* =========================================================
   MOBILE CHAT FULLSCREEN
   KiwiIRC / Mobile Keyboard Fix
   ========================================================= */

.room-frame {
    position: relative;
    width: 100%;
    height: min(78vh, 850px);
    min-height: 500px;

    overflow: hidden;

    background: #111;
    border-radius: 14px;

    isolation: isolate;
}

.room-frame iframe {
    display: block;

    width: 100%;
    height: 100%;

    margin: 0;
    padding: 0;

    border: 0;

    background: #111;
}


/* =========================================================
   DESKTOP NATIVE FULLSCREEN
   ========================================================= */

.room-frame:fullscreen {
    width: 100vw;
    height: 100vh;

    min-width: 100vw;
    min-height: 100vh;

    border-radius: 0;

    background: #000;
}

.room-frame:fullscreen iframe {
    width: 100%;
    height: 100%;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 768px) {

    .room-page {
        padding: 0;
    }

    .room-page .container {
        padding: 0;
    }

    .room-frame {

        /*
         * Normal mobile mode.
         */
        height: 100dvh;

        min-height: 0;

        border-radius: 0;
    }

    .room-frame iframe {
        width: 100%;
        height: 100%;
    }
}


/* =========================================================
   MOBILE CUSTOM FULLSCREEN
   ========================================================= */

@media (max-width: 768px) {

    /*
     * JavaScript adds this class instead of using
     * native browser fullscreen.
     */
    body.chat-mobile-fullscreen {
        overflow: hidden !important;

        width: 100%;
        height: 100%;

        margin: 0;
        padding: 0;
    }


    body.chat-mobile-fullscreen .room-page {
        position: fixed;

        inset: 0;

        z-index: 999999;

        width: 100%;
        height: 100%;

        margin: 0;
        padding: 0;

        background: #000;
    }


    body.chat-mobile-fullscreen .room-page .container {
        width: 100%;
        height: 100%;

        margin: 0;
        padding: 0;
    }


    body.chat-mobile-fullscreen .room-view {
        width: 100%;
        height: 100%;
    }


    /*
     * THIS is the important element.
     *
     * JavaScript updates this height from
     * visualViewport.height.
     */
    body.chat-mobile-fullscreen .room-frame {
        position: fixed;

        left: 0;
        top: 0;

        width: 100vw;

        height: var(--chat-visible-height);

        min-height: 0;

        margin: 0;
        padding: 0;

        border-radius: 0;

        overflow: hidden;

        background: #000;

        z-index: 1000000;
    }


    body.chat-mobile-fullscreen .room-frame iframe {
        position: absolute;

        left: 0;
        top: 0;

        width: 100%;
        height: 100%;

        border: 0;
    }


    /*
     * Hide the buttons while mobile fullscreen
     * is active.
     *
     * This gives the chat the maximum possible
     * vertical space.
     */
    body.chat-mobile-fullscreen .room-actions,
    body.chat-mobile-fullscreen .room-help {
        display: none !important;
    }

}


/* =========================================================
   SMALL PHONES
   ========================================================= */

@media (max-width: 480px) {

    .room-frame {
        height: 100dvh;
    }

}


/* =========================================================
   LANDSCAPE
   ========================================================= */

@media (max-width: 768px) and (orientation: landscape) {

    .room-frame {
        height: 100dvh;
    }

}