/* RuneLore shared navigation: presentation only; no authorization or billing. */
:root { --rl-team:#3ecf83; --rl-chat:#3ecf83; --rl-vault:#c792ea; --rl-ink:#edf3f0; --rl-muted:#9db2bc; --rl-line:#2b3d47; }
html { scroll-padding-top:96px; }
.rl-skip-link { position:fixed; top:8px; left:16px; z-index:1000; transform:translateY(-160%); padding:12px 18px; border:2px solid #1c7eaf; border-radius:9px; background:#141e24; color:var(--rl-ink); }
.rl-skip-link:focus { transform:none; }
.rl-site-header, .rl-site-header * { box-sizing:border-box; }
.rl-site-header { position:sticky; top:0; z-index:60; width:100%; margin:0; border-bottom:1px solid var(--rl-line); background:#0b1014f5; backdrop-filter:blur(12px); color:var(--rl-ink); font:500 15px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif; }
.rl-header-inner { display:flex; align-items:center; gap:28px; min-height:76px; width:100%; max-width:1184px; margin:auto; padding:12px 24px; }
.rl-site-header a { text-decoration:none; color:inherit; }
.rl-brand { font-size:24px; font-weight:800; letter-spacing:-1px; white-space:nowrap; }
.rl-brand span { color:var(--rl-chat); }
.rl-services { position:relative; margin:0; }
.rl-services>summary { display:flex; align-items:center; gap:14px; min-height:44px; padding:10px 12px; border:1px solid var(--rl-line); border-radius:10px; background:#141e24; cursor:pointer; list-style:none; font-weight:650; white-space:nowrap; }
.rl-services>summary::-webkit-details-marker { display:none; }
.rl-services>summary>span { font-size:18px; line-height:1; }
.rl-services[open]>summary { background:#1e2c33; }
.rl-services-panel { position:absolute; top:calc(100% + 12px); left:0; width:338px; max-height:calc(100dvh - 108px); overflow:auto; padding:8px; border:1px solid var(--rl-line); border-radius:16px; background:#141e24; box-shadow:0 20px 48px #152c2926; }
.rl-service-link { display:flex!important; align-items:center; gap:13px; padding:14px 12px; border:1px solid transparent; border-radius:10px; color:var(--rl-ink)!important; }
.rl-service-team { --rl-item:var(--rl-team); --rl-item-bg:#14231c; }
.rl-service-chat { --rl-item:var(--rl-chat); --rl-item-bg:#0f2a1e; }
.rl-service-vault { --rl-item:var(--rl-vault); --rl-item-bg:#241a2e; }
.rl-service-link:hover, .rl-service-link[aria-current="page"] { background:var(--rl-item-bg); border-color:color-mix(in srgb,var(--rl-item) 22%,white); }
.rl-service-link[aria-current="page"] { box-shadow:inset 3px 0 var(--rl-item); }
.rl-service-dot { width:11px; height:30px; flex:0 0 11px; border-radius:4px; background:var(--rl-item); }
.rl-service-link strong { display:block; font-size:15px; color:var(--rl-item); line-height:1.4; }
.rl-service-link small { display:block; margin-top:3px; font-size:12px; font-weight:450; color:var(--rl-muted); line-height:1.5; }
.rl-menu-secondary { margin:7px 4px 0; padding:8px 0 0; border-top:1px solid var(--rl-line); }
.rl-menu-secondary a { display:flex; justify-content:space-between; gap:10px; min-height:40px; padding:10px 9px; border-radius:8px; color:var(--rl-muted); font-size:13px; }
.rl-menu-secondary a:hover { background:#1e2c33; color:var(--rl-ink); }
.rl-menu-info { display:none; }
.rl-header-links { display:flex; gap:24px; align-items:center; }
.rl-header-links a { padding:10px 0; font-size:14px; }
.rl-header-links a:hover { text-decoration:underline; text-underline-offset:4px; }
.rl-workspace-link { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; margin-left:auto; padding:11px 16px; border-radius:10px; background:var(--rl-ink); color:#fff!important; font-size:14px; font-weight:650; white-space:nowrap; }
.rl-workspace-link:hover { background:#304b42; }
.rl-site-header :is(a,summary):focus-visible, .rl-about>summary:focus-visible { outline:3px solid #1c7eaf; outline-offset:4px; }
[data-rl-service="team"] { --rl-page:var(--rl-team); --rl-page-soft:#14231c; --accent:var(--rl-team); --accent-soft:#14231c; }
[data-rl-service="chat"] { --rl-page:var(--rl-chat); --rl-page-soft:#0f2a1e; --accent:var(--rl-chat); --accent-soft:#0f2a1e; }
[data-rl-service="vault"] { --rl-page:var(--rl-vault); --rl-page-soft:#241a2e; --accent:var(--rl-vault); --accent-soft:#241a2e; }
[data-rl-service="team"] .team-welcome { background:linear-gradient(130deg,#122b49 0%,#183659 65%,#284e78 100%); }
body[data-rl-service] { background:#0b1014; }
[data-rl-service] :is(.mkt-hero,.hero-intro,.demo-hero) { border-top:4px solid var(--rl-page); }
[data-rl-service] :is(.mkt-hero h1,.demo-hero h1) { color:var(--rl-page); }
[data-rl-service] .service-kicker { color:var(--rl-page); background:var(--rl-page-soft); border-color:color-mix(in srgb,var(--rl-page) 22%,white); }
.rl-about { max-width:780px; margin:24px 0; border:1px solid var(--rl-line); border-radius:14px; background:#141e24; color:var(--rl-ink); text-align:left; }
.rl-about>summary { min-height:48px; padding:14px 18px; color:var(--rl-page,var(--rl-chat)); font-weight:700; cursor:pointer; }
.rl-about>div { padding:0 18px 18px; }
.rl-about p { margin:0 0 12px; font-size:15px; line-height:1.65; color:var(--rl-muted); }
.rl-about p:last-child { margin-bottom:0; }
.rl-about .rl-example { padding:14px; border-radius:8px; background:var(--rl-page-soft,#f2f6f3); }
.rl-example strong { display:block; margin-bottom:4px; color:var(--rl-ink); }
.rl-faq { padding:0; border:1px solid var(--rl-line); border-radius:14px; background:#141e24; align-self:start; }
.rl-faq summary { min-height:52px; padding:18px; color:var(--rl-page,var(--rl-chat)); font-size:16px; font-weight:700; cursor:pointer; }
.rl-faq>div { padding:0 18px 18px; color:var(--rl-muted); font-size:15px; }
.rl-auth-title { font-size:clamp(1.8rem,4vw,2.6rem); color:var(--rl-page,var(--rl-ink)); line-height:1.2; letter-spacing:-.03em; }
.rl-public-jobs { margin-top:56px; padding:36px 0 16px; border-top:1px solid var(--rl-line); }
.rl-public-jobs h2 { max-width:700px; font-size:clamp(1.8rem,3.5vw,2.5rem); margin:0 0 16px; }
.rl-public-jobs>p { max-width:700px; }
@media(max-width:620px) { .service-grid { grid-template-columns:minmax(0,1fr)!important; } .service-card p { font-size:15px; line-height:1.6; } .service-card>small { font-size:12px; } .service-card h3 { font-size:21px; } }
.rl-workspace-layout { display:grid; grid-template-columns:236px minmax(0,1fr); max-width:1440px; margin:0 auto; min-height:calc(100dvh - 76px); }
.rl-workspace-sidebar { position:sticky; top:76px; align-self:start; display:flex; flex-direction:column; min-height:calc(100dvh - 76px); padding:28px 20px; border-right:1px solid var(--rl-line); background:#141e24; color:var(--rl-ink); font:15px/1.5 system-ui,sans-serif; }
.rl-account-name { display:grid; gap:7px; margin-bottom:28px; overflow-wrap:anywhere; }
.rl-sidebar-label { color:var(--rl-muted); font-size:11px; text-transform:uppercase; letter-spacing:.09em; font-weight:750; }
.rl-workspace-sidebar #who { color:var(--rl-ink); font-size:14px; font-weight:650; }
.rl-workspace-navigation>summary { display:none; }
.rl-workspace-navigation nav { display:grid; gap:7px; }
.rl-workspace-sidebar nav a { display:block; padding:12px; min-height:44px; border-radius:8px; text-decoration:none; color:var(--rl-muted); font-size:14px; font-weight:600; }
.rl-workspace-sidebar nav a:hover { background:#1e2c33; color:var(--rl-ink); }
.rl-workspace-sidebar nav a[aria-current="page"] { background:var(--rl-page-soft,#14231c); color:var(--rl-page,var(--rl-team)); box-shadow:inset 3px 0 currentColor; }
.rl-workspace-boundary { color:var(--rl-muted); font-size:12px; line-height:1.6; margin:24px 12px 36px; }
.rl-sidebar-bottom { display:grid; gap:15px; margin-top:auto; padding:18px 12px 0; border-top:1px solid var(--rl-line); }
.rl-team-upgrade { font-size:12px; color:var(--rl-muted); text-underline-offset:3px; }
.rl-sidebar-bottom #signOut { justify-self:start; border:1px solid var(--rl-line); border-radius:8px; background:#1e2c33; min-height:40px; padding:8px 14px; color:var(--rl-muted); cursor:pointer; }
.rl-workspace-layout>main { width:100%; max-width:none; margin:0; padding:30px clamp(18px,3vw,44px) 60px; min-width:0; }
.rl-workspace-layout>main>h1 { color:var(--rl-page,var(--rl-ink)); font-size:clamp(2rem,4vw,3rem); line-height:1.15; margin:0 0 24px; letter-spacing:-.035em; }
.rl-role-note { padding:16px 18px; border:1px solid var(--rl-line); border-radius:12px; background:var(--rl-page-soft,#14231c); color:var(--rl-muted); font-size:14px; line-height:1.6; margin-bottom:22px; }
.rl-role-note strong { display:block; color:var(--rl-page,var(--rl-ink)); margin-bottom:4px; }
.rl-workspace-sidebar :is(a,button,summary):focus-visible { outline:3px solid #1c7eaf; outline-offset:3px; }
@media(max-width:850px) { .rl-workspace-layout { display:block; } .rl-workspace-sidebar { position:static; min-height:0; padding:16px 20px; border-right:0; border-bottom:1px solid var(--rl-line); } .rl-account-name { margin-bottom:10px; } .rl-workspace-navigation>summary { display:list-item; padding:10px 0; font-weight:650; cursor:pointer; min-height:44px; } .rl-workspace-navigation nav { grid-template-columns:repeat(2,minmax(0,1fr)); } .rl-workspace-boundary { margin:12px; } .rl-sidebar-bottom { display:flex; align-items:center; justify-content:space-between; padding:12px 0 0; } .rl-workspace-layout>main { padding:24px 18px 48px; } }
@media(max-width:700px) { .rl-header-inner { gap:14px; min-height:72px; padding:12px 18px; } .rl-brand { font-size:22px; } .rl-header-links { display:none; } .rl-menu-info { display:flex; gap:12px; padding:6px 13px; border-top:1px solid var(--rl-line); } .rl-menu-info a { padding:10px 0; font-size:13px; } .rl-services { position:static; } .rl-services-panel { top:calc(100% + 8px); left:12px; right:12px; width:auto; max-height:calc(100dvh - 104px); } .rl-workspace-link { font-size:13px; padding:11px 12px; gap:7px; } .rl-services>summary { gap:8px; padding:10px; font-size:13px; } }
@media(max-width:370px) { .rl-header-inner { padding:10px 12px; gap:9px; } .rl-brand { font-size:20px; } .rl-workspace-link { font-size:12px; padding:11px 9px; } .rl-workspace-link>span { display:none; } }
@media(prefers-reduced-motion:reduce) { .rl-site-header * { scroll-behavior:auto; transition:none; } }
