:root {
    color-scheme: light;

    --pages-page: #f5f6f8;
    --pages-surface: #ffffff;
    --pages-surface-2: #eef0f4;
    --pages-text: #1b1d24;
    --pages-muted: #676b76;
    --pages-border: #d9dde5;
    --pages-accent: #5263d9;
    --pages-accent-soft: #e7eafe;
    --pages-success: #2b9b78;
    --pages-danger: #bd3f5c;
    --pages-header: rgb(255 255 255 / 86%);
    --pages-shadow: 0 1rem 3rem rgb(31 36 54 / 10%);
    --pages-radius: 1.1rem;
    --pages-content: 72rem;
    --pages-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

:root[data-theme="dark"] {
    color-scheme: dark;

    --pages-page: #11131a;
    --pages-surface: #1a1d26;
    --pages-surface-2: #141720;
    --pages-text: #f3f4f7;
    --pages-muted: #bcc0ca;
    --pages-border: #303442;
    --pages-accent: #9ba5ff;
    --pages-accent-soft: #292e51;
    --pages-success: #58d4ad;
    --pages-danger: #ff91a8;
    --pages-header: rgb(17 19 26 / 86%);
    --pages-shadow: 0 1rem 3rem rgb(0 0 0 / 30%);
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme]) {
        color-scheme: dark;

        --pages-page: #11131a;
        --pages-surface: #1a1d26;
        --pages-surface-2: #141720;
        --pages-text: #f3f4f7;
        --pages-muted: #bcc0ca;
        --pages-border: #303442;
        --pages-accent: #9ba5ff;
        --pages-accent-soft: #292e51;
        --pages-success: #58d4ad;
        --pages-danger: #ff91a8;
        --pages-header: rgb(17 19 26 / 86%);
        --pages-shadow: 0 1rem 3rem rgb(0 0 0 / 30%);
    }
}

.pages-skip {
    position: fixed;
    z-index: 100;
    top: 0.5rem;
    left: 0.5rem;
    padding: 0.65rem 0.85rem;
    border-radius: 0.7rem;
    background: var(--pages-accent);
    color: var(--pages-surface);
    font-weight: 850;
    translate: 0 -160%;

    &:focus {
        translate: 0;
    }
}

.pages-header,
[data-pages-header] {
    position: sticky;
    top: 0;
    z-index: 50;
    border-bottom: 1px solid color-mix(in srgb, var(--pages-border) 82%, transparent);
    background: var(--pages-header);
    backdrop-filter: blur(18px) saturate(1.2);
}

.pages-header__inner {
    width: min(calc(100% - 2rem), var(--pages-content));
    min-height: 4rem;
    margin: auto;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 1rem;
}

.pages-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    font-weight: 900;
    letter-spacing: -0.025em;

    & img {
        width: 2rem;
        height: 2rem;
    }
}

.pages-main {
    width: min(calc(100% - 2rem), var(--pages-content));
    margin: auto;
    padding: 1.5rem 0 4rem;
}

.pages-button {
    display: inline-flex;
    min-height: 2.55rem;
    align-items: center;
    justify-content: center;
    padding: 0.62rem 0.86rem;
    border: 1px solid transparent;
    border-radius: 0.75rem;
    font-weight: 850;

    &.pages-button--primary {
        background: var(--pages-accent);
        color: var(--pages-surface);
    }

    &.pages-button--secondary {
        border-color: var(--pages-border);
        background: var(--pages-surface);
        color: var(--pages-accent);
    }

    &.pages-button--quiet {
        border-color: var(--pages-border);
        background: var(--pages-surface-2);
        color: var(--pages-text);
    }

    &:disabled {
        opacity: 0.45;
        cursor: not-allowed;
    }
}

.pages-field {
    display: grid;
    gap: 0.35rem;

    & label,
    & .pages-field__label {
        color: var(--pages-muted);
        font-size: 0.8rem;
        font-weight: 750;
    }

    & input,
    & select,
    & textarea {
        width: 100%;
        min-height: 2.7rem;
        padding: 0.6rem 0.72rem;
        border: 1px solid var(--pages-border);
        border-radius: 0.75rem;
        background: var(--pages-surface-2);
        color: var(--pages-text);
    }

    & textarea {
        min-height: 8rem;
        resize: vertical;
    }

    & small {
        color: var(--pages-muted);
    }
}

:root {
  --rv-bg:#f6f5fa; --rv-panel:#fff; --rv-raised:#eeecf6; --rv-text:#1c1a2c;
  --rv-muted:#625f78; --rv-border:#e1deed; --rv-accent:#6857c5;
  --rv-accent-text:#fff; --rv-mint:#236c5b; --rv-shadow:0 18px 50px #1a1b2512;
  --pages-accent:var(--rv-accent); --pages-surface:var(--rv-panel);
  --pages-surface-2:var(--rv-raised); --pages-border:var(--rv-border);
  --pages-text:var(--rv-text); --pages-muted:var(--rv-muted);
  color-scheme:light; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
:root[data-theme="dark"] {
  --rv-bg:#10111c; --rv-panel:#1a1b2a; --rv-raised:#232438; --rv-text:#f5f4fc;
  --rv-muted:#a6a7bc; --rv-border:#39394e; --rv-accent:#b9aeff;
  --rv-accent-text:#191429; --rv-mint:#7de0c1; --rv-shadow:0 18px 50px #03030b4d;
  color-scheme:dark;
}
*,*::before,*::after {box-sizing:border-box;}
body {margin:0;min-height:100vh;background:var(--rv-bg);color:var(--rv-text);font-family:inherit;line-height:1.5;}
a {color:inherit;text-underline-offset:3px;}
button,input,select,textarea {font:inherit;}
button {cursor:pointer;}
button:disabled {cursor:not-allowed;opacity:.45;}
:focus-visible {outline:3px solid var(--rv-accent);outline-offset:3px;}
::selection {background:var(--rv-accent);color:var(--rv-accent-text);}
[hidden] {display:none!important;}
.rv-container {width:min(100% - 40px,1140px);margin-inline:auto;}
.rv-visually-hidden {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.rv-eyebrow {display:flex;align-items:center;gap:9px;margin:0;font-size:12px;font-weight:750;
  letter-spacing:.15em;text-transform:uppercase;color:var(--rv-muted);}
.rv-eyebrow::before {content:"";width:7px;height:7px;border-radius:50%;background:var(--rv-mint);}
.rv-button {border:1px solid transparent;border-radius:13px;background:var(--rv-accent);
  color:var(--rv-accent-text);font-weight:730;min-height:48px;padding:11px 18px;}
.rv-button:hover:not(:disabled) {filter:brightness(1.08);}
.rv-button.pages-button--secondary {background:var(--rv-raised);color:var(--rv-text);border-color:var(--rv-border);}

.rv-header {border-bottom:1px solid var(--rv-border);background:var(--rv-bg);}
.rv-header-inner {width:min(100% - 40px,1140px);margin:auto;min-height:83px;
  display:flex;justify-content:space-between;align-items:center;gap:22px;}
.rv-brand {display:inline-flex;align-items:center;flex-shrink:0;text-decoration:none;}
.rv-brand img {display:block;max-width:100%;width:245px;height:45px;object-fit:contain;object-position:left;}
.rv-logo-dark {display:none!important;}
:root[data-theme="dark"] .rv-logo-dark {display:block!important;}
:root[data-theme="dark"] .rv-logo-light {display:none!important;}
.rv-nav {display:flex;gap:22px;align-items:center;margin-left:auto;}
.rv-nav a {font-size:13px;text-decoration:none;color:var(--rv-muted);font-weight:630;}
.rv-nav a[aria-current],.rv-nav a:hover {color:var(--rv-accent);}
.rv-theme {height:43px;min-width:43px;padding:0;border:1px solid var(--rv-border)!important;
 background:var(--rv-panel)!important;color:var(--rv-text)!important;font-size:22px!important;
 display:inline-grid;place-items:center;border-radius:12px;}
.rv-footer {border-top:1px solid var(--rv-border);margin-top:65px;}
.rv-footer-inner {min-height:95px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.rv-footer-inner .rv-brand img {width:178px;height:36px;}
.rv-footer nav {display:flex;flex-wrap:wrap;gap:18px;}
.rv-footer nav a {font-size:13px;color:var(--rv-muted);text-decoration:none;}
.rv-footer nav a:hover {color:var(--rv-accent);}

.rv-hero {padding:100px 0 93px;display:grid;grid-template-columns:minmax(0,1.16fr) minmax(300px,.84fr);
  gap:clamp(35px,6vw,90px);align-items:center;}
.rv-hero h1 {font-size:clamp(54px,8vw,102px);line-height:1.05;letter-spacing:-.076em;
  margin:0 0 24px;font-weight:780;}
.rv-start {max-width:540px;border:1px solid var(--rv-border);border-radius:19px;
  background:var(--rv-panel);padding:20px;box-shadow:var(--rv-shadow);}
.rv-start .pages-field {display:grid;gap:9px;}
.rv-start label {font-size:12px;font-weight:700;color:var(--rv-muted);}
.rv-interest-entry {border:1px solid var(--rv-border);border-radius:11px;background:var(--rv-bg);
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:5px 10px;}
.rv-interest-entry:focus-within {border-color:var(--rv-accent);}
.rv-interest-entry input {background:transparent;border:0;min-width:135px;width:auto;flex:1;
  color:var(--rv-text);outline:none;min-height:39px;}
.rv-interest-entry input::placeholder {color:var(--rv-muted);}
.rv-tags {display:contents;}
.rv-tag {display:inline-flex;align-items:center;gap:7px;border-radius:8px;background:var(--rv-raised);
  font-size:12px;padding:5px 7px;color:var(--rv-text);}
.rv-tag button {background:transparent;border:0;padding:0;color:var(--rv-muted);font-size:17px;line-height:1;}
.rv-start-actions {margin-top:18px;display:flex;justify-content:space-between;align-items:center;gap:16px;}
.rv-orbit {width:100%;max-width:440px;aspect-ratio:1;position:relative;display:grid;place-items:center;margin:auto;}
.rv-orbit::before,.rv-orbit::after {content:"";border-radius:50%;border:1px solid var(--rv-border);position:absolute;}
.rv-orbit::before {inset:4%;border-style:dashed;}
.rv-orbit::after {inset:14%;}
.rv-orbit-core {z-index:1;background:var(--rv-panel);
  border:1px solid var(--rv-border);border-radius:50%;width:55%;aspect-ratio:1;display:grid;place-items:center;
  box-shadow:none;}
.rv-orbit-core img {width:88%;height:auto;}
.rv-lockup-dark {display:none!important;}
:root[data-theme="dark"] .rv-lockup-dark {display:block!important;}
:root[data-theme="dark"] .rv-lockup-light {display:none!important;}
.rv-orbit-node {position:absolute;z-index:2;border:3px solid var(--rv-bg);border-radius:50%;
  background:var(--rv-text);width:18px;height:18px;left:17%;top:13%;}
.rv-orbit-node-b {left:auto;right:4%;top:58%;background:var(--rv-muted);}

.rv-chat {max-width:980px;min-height:min(77vh,850px);padding-top:40px;}
.rv-chat-card {background:var(--rv-panel);border:1px solid var(--rv-border);border-radius:20px;
  box-shadow:var(--rv-shadow);overflow:hidden;display:flex;flex-direction:column;min-height:clamp(510px,70vh,820px);}
.rv-chat-top {padding:23px 28px;display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid var(--rv-border);gap:24px;}
.rv-chat-top h1 {font-size:25px;letter-spacing:-.045em;margin:8px 0 3px;}
#chat-status {margin:0;color:var(--rv-muted);font-size:13px;}
.rv-chat-tools {display:flex;align-items:center;gap:8px;}
.rv-icon-button {border:1px solid var(--rv-border);border-radius:10px;background:var(--rv-raised);
  color:var(--rv-text);padding:10px 14px;}
.rv-filters {display:flex;gap:17px;padding:13px 28px;border-bottom:1px solid var(--rv-border);
  background:var(--rv-raised);}
.rv-filters label {display:grid;gap:6px;flex:1;font-weight:700;color:var(--rv-muted);font-size:12px;}
.rv-filters select,.rv-report select,.rv-report textarea {width:100%;padding:10px 12px;border:1px solid var(--rv-border);
  background:var(--rv-panel);color:var(--rv-text);border-radius:10px;}
.rv-chat-messages {flex:1;min-height:180px;max-height:58vh;padding:20px 28px;overflow-y:auto;
  display:flex;flex-direction:column;gap:11px;overflow-wrap:anywhere;}
.rv-placeholder {color:var(--rv-muted);font-size:14px;text-align:center;margin:auto;}
.rv-message {width:fit-content;max-width:min(76%,580px);padding:10px 14px;border-radius:14px;
  background:var(--rv-raised);color:var(--rv-text);font-size:14px;white-space:pre-wrap;}
.rv-message--me {align-self:flex-end;background:var(--rv-accent);color:var(--rv-accent-text);}
.rv-message--system {align-self:center;background:transparent;font-size:12px;color:var(--rv-muted);text-align:center;}
.rv-peer-typing {font-size:12px;color:var(--rv-muted);padding:0 28px 10px;}
.rv-compose {padding:16px 22px 10px;display:flex;align-items:stretch;gap:10px;border-top:1px solid var(--rv-border);}
.rv-compose textarea {flex:1;min-width:0;max-height:135px;resize:vertical;color:var(--rv-text);
  background:var(--rv-bg);border:1px solid var(--rv-border);border-radius:12px;padding:11px 14px;}
.rv-compose textarea:focus {border-color:var(--rv-accent);}
.rv-chat-actions {display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:9px 22px 20px;}
.rv-report {border:1px solid var(--rv-border);border-radius:19px;background:var(--rv-panel);
  color:var(--rv-text);padding:25px;width:min(94vw,490px);box-shadow:var(--rv-shadow);}
.rv-report::backdrop {background:#070713a8;}
.rv-report form {display:grid;gap:12px;}
.rv-report h2 {margin:0 0 5px;}
.rv-report label {font-size:13px;color:var(--rv-muted);font-weight:700;}
.rv-dialog-actions {display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end;margin-top:13px;}

.rv-ban {position:fixed;inset:0;z-index:1000;display:grid;place-items:center;
  background:#090916cc;padding:18px;}
.rv-ban-card {width:min(100%,530px);max-height:90dvh;overflow:auto;padding:28px;
  background:var(--rv-panel);color:var(--rv-text);border:1px solid var(--rv-border);
  border-radius:19px;box-shadow:0 25px 90px #0007;}
.rv-ban-card h2 {margin:0 0 14px;letter-spacing:-.035em;}
.rv-ban-card p {color:var(--rv-muted);line-height:1.65;}
.rv-ban-card form {display:grid;gap:12px;margin-top:22px;}
.rv-ban-card label {font-size:13px;font-weight:750;}
.rv-ban-card textarea {background:var(--rv-bg);color:var(--rv-text);border:1px solid var(--rv-border);
  border-radius:12px;padding:12px;resize:vertical;}

.rv-ban-panel[hidden] { display: none; }
.rv-ban-panel { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center;
  padding: 24px; background: rgb(5 5 14 / 85%); }
.rv-ban-content { width: min(100%, 520px); padding: clamp(20px, 4vw, 36px); border-radius: 19px;
  background: var(--rv-panel); color: var(--rv-text); border: 1px solid var(--rv-border); }
.rv-ban-content h2 { margin: 0 0 15px; }
.rv-ban-content p { line-height: 1.6; }
.rv-ban-content form { display: grid; gap: 14px; }
.rv-ban-content form label { font-size: 13px; font-weight: 700; }
.rv-ban-content textarea { padding: 12px; border: 1px solid var(--rv-border); background: var(--rv-bg);
  color: var(--rv-text); border-radius: 11px; max-width: 100%; }

.rv-info-main {max-width:960px;padding:75px 0 30px;}
.rv-info-main h1 {margin:16px 0 20px;font-size:clamp(42px,7vw,75px);
  line-height:1.08;letter-spacing:-.065em;}
.rv-info-intro {max-width:690px;color:var(--rv-muted);font-size:17px;line-height:1.7;margin-bottom:30px;}
.rv-info-content {max-width:810px;border-top:1px solid var(--rv-border);padding-top:23px;}
.rv-info-content section {margin-bottom:30px;}
.rv-info-content h2 {font-size:22px;letter-spacing:-.03em;margin:15px 0;}
.rv-info-content p {font-size:15px;line-height:1.8;color:var(--rv-muted);}
.rv-info-content details {border-bottom:1px solid var(--rv-border);padding:18px 3px;}
.rv-info-content summary {cursor:pointer;font-weight:710;}
.rv-info-content details p {margin:12px 0 0;}

@media(max-width:840px) {
  .rv-header-inner {min-height:73px;}
  .rv-nav {gap:12px;}
  .rv-hero {grid-template-columns:1fr;gap:30px;padding:60px 0 58px;}
  .rv-hero h1 {font-size:clamp(52px,10vw,85px);}
  .rv-orbit {max-width:260px;}
}
@media(max-width:540px) {
  .rv-container,.rv-header-inner {width:calc(100% - 28px);}
  .rv-nav {display:none;}
  .rv-header-inner {gap:10px;}
  .rv-brand img {width:min(55vw,206px);height:39px;}
  .rv-hero {padding-top:50px;}
  .rv-hero h1 {font-size:clamp(48px,12vw,74px);}
  .rv-start {padding:14px;}
  .rv-start-actions {flex-direction:column;align-items:stretch;}
  .rv-start-actions .rv-button {width:100%;}
  .rv-orbit {max-width:240px;}
  .rv-chat {padding:10px 0;min-height:0;}
  .rv-chat-card {border-radius:13px;min-height:min(80dvh,800px);}
  .rv-chat-top {padding:15px;}
  .rv-chat-top h1 {font-size:21px;}
  .rv-icon-button {padding:8px;}
  .rv-filters {padding:11px 13px;gap:7px;}
  .rv-chat-messages {padding:13px;max-height:55dvh;}
  .rv-message {max-width:90%;}
  .rv-compose {padding:11px;gap:7px;}
  .rv-compose button {padding-inline:12px;}
  .rv-chat-actions {padding:8px 11px 15px;}
  .rv-footer-inner {align-items:flex-start;flex-direction:column;padding:20px 0;}
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}
