/* Local homepage redesign. Scoped to this page so other public routes retain their layout. */
.home-midnight{--bg:#08060d;--bg-raise:#110b1c;--bg-inset:#0c0812;--text:#f4f0fa;--text-dim:#ada4ba;--text-faint:#92859f;--accent:#b68be9;--accent-soft:#241433;--accent-line:#503269;--line:#2b2038;--line-soft:#201727;--container:1160px;background:var(--bg);color:var(--text);font-size:16px;overflow-x:clip}
.home-midnight::before{content:"";position:absolute;inset:0 0 auto;height:780px;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 82% 30%,#28123d70,transparent 56%)}
.home-midnight .container{width:min(1160px,calc(100% - 64px));max-width:1160px;margin-inline:auto}
.home-midnight a{transition:color .2s,background-color .2s,border-color .2s,transform .2s}
.home-midnight a:hover{text-decoration:none}
.home-midnight :focus-visible{outline:2px solid #d2a7ff;outline-offset:5px}
.home-midnight .nav{background:#08060deb;backdrop-filter:blur(20px);border-bottom:1px solid #b58ed012}
.home-midnight .nav.scrolled{border-bottom-color:var(--line)}
.home-midnight .nav-inner{max-width:1224px;min-height:74px;padding-inline:32px}
.home-midnight .nav-brand{font-size:19px;letter-spacing:-.5px;font-weight:750}
.home-midnight .nav-brand img{width:31px;height:31px;border-radius:9px}
.home-midnight .nav-links{gap:23px}
.home-midnight .nav-links a{font-size:13px;color:#bbb1c8}
.home-midnight .nav-links a:hover{color:#fff}
.home-midnight .nav-links .nav-cta{background:#352046;color:#eadcf8;border:1px solid #654180;padding:9px 15px;border-radius:7px;font-weight:650}
.home-midnight .nav-links .nav-cta:hover{background:#4c286c;border-color:#9065b4}
.home-midnight .language-trigger{border-color:var(--line);font-size:12px}
.home-midnight .language-menu{background:#150e20;border-color:#40294f}
.home-midnight .language-option:hover,.home-midnight .language-option[aria-checked="true"]{background:#2d1a42;color:#e9d6ff}
.home-midnight h1,.home-midnight h2,.home-midnight h3{font-weight:650;color:var(--text);text-wrap:balance}
.home-midnight h2{font-size:clamp(29px,3.4vw,42px);line-height:1.14;letter-spacing:-1.55px}
.home-midnight .eyebrow{font-size:11px;font-weight:650;letter-spacing:1.25px;text-transform:uppercase;color:#c09cd9;margin:0 0 22px}
.home-midnight .midnight-hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:54px;align-items:center;padding-block:95px 72px;min-height:590px}
.home-midnight .hero-copy{position:relative;z-index:2;padding-bottom:12px}
.home-midnight h1{font-size:clamp(40px,4.6vw,65px);line-height:1.07;letter-spacing:-3px;margin:0 0 25px}
.home-midnight h1 em{font-style:normal;color:#bd95e0}
.home-midnight .hero-lead{max-width:435px;color:#b3a9bf;font-size:16px;line-height:1.85;margin:0 0 28px;text-wrap:pretty}
.home-midnight .midnight-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap}
.home-midnight .btn{font-size:13px;font-weight:650;min-height:46px;padding:12px 19px;border-radius:7px;box-shadow:none;line-height:1.4;white-space:normal}
.home-midnight .btn-primary{background:#7137b7;border:1px solid #9e66dd;color:#fff;box-shadow:inset 0 1px 0 #ffffff18,0 6px 30px #6e30ad20}
.home-midnight .btn-primary:hover{background:#8246c5;transform:translateY(-2px);box-shadow:0 8px 30px #8145ad35}
.home-midnight .btn-quiet{border:1px solid #403049;background:#ffffff03;color:#d4c5df}
.home-midnight .btn-quiet:hover{border-color:#866399;background:#21142d;transform:translateY(-2px)}
.home-midnight .hero-footnote{font-size:11px;color:#a497b1;margin:21px 0 0}
.home-midnight .hero-visual{position:relative;min-width:0;isolation:isolate;animation:frame-arrive .9s ease both}
.home-midnight .hero-visual::before{content:"";position:absolute;inset:-42px -30px;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,#4b23645c,transparent 69%);filter:blur(25px)}
.home-midnight .product-frame{border-radius:12px;border:1px solid #71488c66;padding:7px;background:linear-gradient(135deg,#352042,#100b19 55%,#241130);box-shadow:0 28px 75px #0009,0 0 0 7px #a066dd05;transform:perspective(1500px) rotateY(-6deg) rotateZ(1.5deg);transition:transform .6s cubic-bezier(.2,.6,.3,1)}
.home-midnight .product-frame:hover{transform:perspective(1500px) rotateY(0) rotateZ(0)}
.home-midnight .frame-label{display:flex;gap:8px;align-items:center;padding:5px 6px 11px;font-size:11px;font-weight:600;color:#e1d3eb}
.home-midnight .frame-label img{border-radius:4px}
.home-midnight .frame-context{margin-left:auto;font-size:10px;font-weight:400;color:#ac98bb}
.home-midnight .screen-link{position:relative;display:block;border-radius:7px;overflow:hidden;border:1px solid #ffffff0c;background:#0b0c13}
.home-midnight .screen-link img{display:block;width:100%;height:auto;margin:0;transition:transform .6s ease}
.home-midnight .screen-link:hover img{transform:scale(1.018)}
.home-midnight .screen-expand{position:absolute;right:12px;bottom:12px;padding:7px 11px;border:1px solid #bb8ddb55;background:#10091ce8;border-radius:6px;color:#ecd9ff;font-size:10px;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s}
.home-midnight .screen-link:hover .screen-expand,.home-midnight .screen-link:focus-visible .screen-expand{opacity:1;transform:none}
.home-midnight .visual-caption{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#a898b5;margin:24px 0 0;padding-inline:3px}
.home-midnight .visual-caption a{color:#c8a6e1}
.home-midnight .value-strip{display:flex;justify-content:space-between;gap:20px;padding:24px 5%;border-block:1px solid var(--line-soft);color:#b9acC5;font-size:12px;letter-spacing:.15px}
.home-midnight .support-story{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:90px;align-items:center;padding-block:100px}
.home-midnight figure{margin:0}
.home-midnight .story-image .screen-link{border:1px solid #57356788;padding:8px;background:linear-gradient(140deg,#271233,#100b17);border-radius:12px;box-shadow:0 18px 50px #0005}
.home-midnight .story-image .screen-link img{border-radius:6px}
.home-midnight .story-image figcaption{color:#93849f;font-size:11px;margin:16px 3px 0}
.home-midnight .story-copy p:not(.eyebrow){color:var(--text-dim);font-size:14px;line-height:1.85;margin:21px 0}
.home-midnight .text-link{display:inline-flex;align-items:center;gap:12px;color:#d1abea;font-size:13px;font-weight:550;border:0;padding-block:5px}
.home-midnight .text-link::after{content:"→";font-size:17px;transition:transform .2s}
.home-midnight .text-link:hover::after{transform:translateX(4px)}
.home-midnight .explorer-section{position:relative;padding-block:75px 55px;background:linear-gradient(155deg,#170d2290,#0b0811 55%,#170c2490);border-block:1px solid #32203d66;scroll-margin-top:95px}
.home-midnight .explorer-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:35px}
.home-midnight .explorer-heading h2{margin:0}
.home-midnight .explorer-heading .eyebrow{margin-bottom:15px}
.home-midnight .explorer-heading>p{max-width:330px;margin:0;color:#ac9eb9;font-size:14px;line-height:1.8}
.home-midnight .tour-tabs{display:flex;gap:5px;border-bottom:1px solid #44305085;margin-bottom:38px;overflow-x:auto;scrollbar-width:thin}
.home-midnight .tour-tab{position:relative;padding:13px 20px 15px;border:0;background:none;color:#a99ab7;font:inherit;font-size:13px;white-space:nowrap;cursor:pointer;min-height:48px}
.home-midnight .tour-tab::after{content:"";position:absolute;bottom:0;inset-inline:20px;height:2px;background:#bd8be3;transform:scaleX(0);transition:transform .2s}
.home-midnight .tour-tab[aria-selected="true"]{color:#f1dfff;background:linear-gradient(0deg,#844db91a,transparent)}
.home-midnight .tour-tab[aria-selected="true"]::after{transform:scaleX(1)}
.home-midnight .tour-tab:hover{color:#ead5fb}
.home-midnight .tour-panel{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);align-items:center;gap:65px;animation:panel-arrive .35s ease}
.home-midnight .tour-panel[hidden]{display:none}
.home-midnight .panel-copy h3{font-size:30px;line-height:1.2;letter-spacing:-1px;margin-bottom:22px}
.home-midnight .panel-copy p{font-size:14px;color:var(--text-dim);line-height:1.85;margin-bottom:20px}
.home-midnight .tour-panel figure{min-width:0;padding:8px;background:#21132c;border:1px solid #58396d75;border-radius:11px;box-shadow:0 20px 65px #0005}
.home-midnight .plan-note{font-size:11px;color:#a294ae;margin:25px 0 0;text-align:right}
.home-midnight .plan-note a{color:#ceb0e5;margin-left:8px}
.home-midnight .creator-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;align-items:center;padding-block:80px;border-bottom:1px solid var(--line-soft)}
.home-midnight .creator-byline{display:grid;grid-template-columns:42px 1fr;gap:0 16px;align-items:center}
.home-midnight .creator-byline img{grid-row:1/3;border-radius:12px}
.home-midnight .creator-byline .eyebrow{font-size:11px;margin:0 0 5px;text-transform:none;letter-spacing:0;color:#e3d0ef}
.home-midnight .creator-signature{margin:0;font-size:11px;color:#9886a5}
.home-midnight .creator-copy h2{font-size:25px;margin:0 0 15px;letter-spacing:-.6px}
.home-midnight .creator-copy>p{font-size:14px;line-height:1.85;color:var(--text-dim);margin:0;max-width:575px}
.home-midnight .community-section{padding-block:65px;border-bottom:1px solid var(--line-soft)}
.home-midnight .community-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;margin-bottom:20px}
.home-midnight .community-intro h2{font-size:27px;letter-spacing:-.8px}
.home-midnight .community-intro .eyebrow{margin-bottom:14px}
.home-midnight .section-description>p{font-size:13px;color:var(--text-dim);line-height:1.75;margin:0 0 10px}
.home-midnight .community-showcase-empty{padding:17px 0;background:transparent;border:0;color:#9684a4;font-size:12px;min-height:0;text-align:left}
.home-midnight .midnight-cta{display:flex;justify-content:space-between;align-items:center;gap:45px;padding-block:76px;background:radial-gradient(ellipse at 20% 50%,#32144545,transparent 70%)}
.home-midnight .midnight-cta h2{margin-bottom:16px}
.home-midnight .midnight-cta p:not(.eyebrow){font-size:14px;color:var(--text-dim);margin:0}
.home-midnight .midnight-cta .midnight-actions{flex-direction:column;align-items:stretch;min-width:170px;text-align:center}
.home-midnight .midnight-cta .text-link{justify-content:center;font-size:12px}
.home-midnight .footer{background:#07050b;border-top:1px solid #281b32;padding-top:45px}
.home-midnight .footer-grid{gap:32px;padding-bottom:40px}
.home-midnight .footer-col h3{font-size:12px;color:#d4c3df;font-weight:550}
.home-midnight .footer-col li a,.home-midnight .footer-col a{font-size:12px;color:#a293ad}
.home-midnight .footer-col li a:hover{color:#ead9f7}
.home-midnight .footer-bottom{font-size:10px;color:#8f809a;padding-block:20px;border-top-color:var(--line-soft)}
.home-midnight .screenshot-dialog{width:min(1320px,94vw);max-width:94vw;max-height:92dvh;padding:0;border:1px solid #67457d;border-radius:12px;background:#0c0712;color:#e9dcf3;box-shadow:0 30px 120px #000b}
.home-midnight .screenshot-dialog::backdrop{background:#030106e8;backdrop-filter:blur(12px)}
.home-midnight .viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 18px;border-bottom:1px solid var(--line)}
.home-midnight .viewer-bar h2{font-size:15px;letter-spacing:0;margin:0}
.home-midnight .viewer-close{font:inherit;font-size:13px;min-height:40px;padding:8px 15px;background:#2c173e;border:1px solid #5c3b72;border-radius:6px;color:#ead9f6;cursor:pointer}
.home-midnight .viewer-body{padding:10px;overflow:auto;max-height:calc(92dvh - 70px)}
.home-midnight .viewer-image{display:block;width:100%;height:auto;border-radius:6px}
.home-midnight.viewer-open{overflow:hidden}
.home-midnight [data-reveal]{transition:opacity .65s ease,transform .65s cubic-bezier(.2,.65,.3,1)}
.home-midnight [data-reveal].awaiting-reveal{opacity:0;transform:translateY(18px)}
@keyframes frame-arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes panel-arrive{from{opacity:.3;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(min-width:1500px){.home-midnight .midnight-hero{padding-block:110px 90px}}
@media(max-width:1100px){.home-midnight .nav-links{gap:15px}.home-midnight .midnight-hero{gap:30px;padding-block:75px 60px;min-height:530px}.home-midnight h1{letter-spacing:-2px}.home-midnight .support-story{gap:45px}.home-midnight .tour-panel{gap:35px}}
@media(max-width:900px){.home-midnight .nav-links{background:#100919;border-color:#3d274c;padding:18px 24px}.home-midnight .nav-links .nav-cta{padding:12px}.home-midnight .nav-toggle{display:flex;background:#1b1027;border-color:#4f345f}.home-midnight .midnight-hero{grid-template-columns:1fr;gap:40px;padding-top:55px}.home-midnight .hero-copy{max-width:600px;text-align:center;margin:auto}.home-midnight h1{font-size:clamp(42px,7vw,62px)}.home-midnight .hero-lead{margin-inline:auto;max-width:490px}.home-midnight .hero-copy .midnight-actions{justify-content:center}.home-midnight .hero-visual{width:min(650px,100%);margin:auto}.home-midnight .product-frame{transform:none}.home-midnight .support-story{grid-template-columns:1fr 1fr;gap:30px;padding-block:65px}.home-midnight .story-copy h2{font-size:30px}.home-midnight .explorer-heading>p{max-width:260px}.home-midnight .tour-panel{grid-template-columns:1fr;gap:25px}.home-midnight .panel-copy{max-width:580px}.home-midnight .panel-copy h3{margin-bottom:10px;font-size:27px}.home-midnight .panel-copy p{margin-bottom:10px}.home-midnight .creator-section{gap:35px;grid-template-columns:.8fr 1.2fr}.home-midnight .community-intro{gap:30px}}
@media(max-width:600px){.home-midnight .container{width:calc(100% - 36px)}.home-midnight .nav-inner{min-height:65px;padding-inline:18px}.home-midnight .midnight-hero{padding-block:42px 36px;gap:30px}.home-midnight .hero-copy{text-align:left}.home-midnight .hero-copy .midnight-actions{justify-content:flex-start;gap:10px}.home-midnight h1{font-size:clamp(36px,10.7vw,52px);letter-spacing:-1.8px}.home-midnight .eyebrow{font-size:10px;margin-bottom:19px}.home-midnight .hero-lead{font-size:14px;line-height:1.8;margin-bottom:23px}.home-midnight .btn{padding:12px 14px;font-size:12px}.home-midnight .hero-footnote{font-size:10px}.home-midnight .frame-context{font-size:8px}.home-midnight .visual-caption{font-size:10px;margin-top:14px}.home-midnight .value-strip{gap:12px;padding:18px 0;font-size:10px;text-align:center;align-items:center}.home-midnight .value-strip span{flex:1}.home-midnight .support-story{display:flex;flex-direction:column-reverse;gap:28px;padding-block:50px}.home-midnight .story-copy h2{font-size:33px}.home-midnight .story-copy p:not(.eyebrow){font-size:14px;margin-block:15px}.home-midnight .story-image{width:100%}.home-midnight .explorer-section{padding-block:45px 32px}.home-midnight .explorer-heading{display:block;margin-bottom:22px}.home-midnight .explorer-heading>p{max-width:none;margin-top:18px;font-size:13px}.home-midnight h2{font-size:32px}.home-midnight .tour-tab{padding:12px 14px;font-size:12px}.home-midnight .tour-tab::after{inset-inline:14px}.home-midnight .tour-tabs{margin-bottom:26px}.home-midnight .panel-copy h3{font-size:25px}.home-midnight .panel-copy p{font-size:13px}.home-midnight .plan-note{text-align:left;font-size:10px}.home-midnight .creator-section{grid-template-columns:1fr;gap:25px;padding-block:48px}.home-midnight .creator-copy h2{font-size:24px}.home-midnight .creator-copy>p{font-size:13px}.home-midnight .community-section{padding-block:42px}.home-midnight .community-intro{display:block}.home-midnight .community-intro h2{font-size:25px}.home-midnight .community-intro .section-description{margin-top:20px}.home-midnight .midnight-cta{flex-direction:column;align-items:flex-start;gap:26px;padding-block:50px}.home-midnight .midnight-cta .midnight-actions{flex-direction:row;align-items:center;gap:20px}.home-midnight .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.home-midnight .footer-bottom{display:flex;align-items:flex-start;gap:12px;flex-direction:column}.home-midnight .screen-expand{opacity:1;transform:none;font-size:9px;padding:5px 8px}}
@media(prefers-reduced-motion:reduce){.home-midnight *,.home-midnight *::before,.home-midnight *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.home-midnight [data-reveal].awaiting-reveal{opacity:1;transform:none}.home-midnight .product-frame{transform:none}}

/* Community listings share the homepage's quiet, compact layout. */
.home-midnight .community-showcase-stage{min-width:0}
.home-midnight .community-server-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px 32px}
.home-midnight .community-server-card{min-width:0;display:flex;flex-direction:column;align-items:stretch;padding:24px 0 0;border-top:1px solid var(--line-soft)}
.home-midnight .community-server-backdrop{display:none}
.home-midnight .community-server-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.home-midnight .community-server-identity{position:relative;display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;overflow:hidden;border:1px solid #35233f;border-radius:12px;background:#1d1228}
.home-midnight .community-server-identity img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.home-midnight .community-server-fallback{color:#d7bdeb;font-size:16px;font-weight:650;letter-spacing:.02em}
.home-midnight .community-protected-badge{display:flex;align-items:center;gap:8px;line-height:1.4}
.home-midnight .community-protected-mark{display:block;flex:0 0 22px;width:22px;height:22px;object-fit:contain}
.home-midnight .community-protected-badge small{display:block;color:#9f91ad;font-size:10px}
.home-midnight .community-protected-badge strong{display:block;color:#d5cadf;font-size:12px;font-weight:600}
.home-midnight .community-server-name-row h3{margin:0;color:#f3eaf9;font-size:18px;line-height:1.4;letter-spacing:-.3px;overflow-wrap:anywhere}
.home-midnight .community-server-type{display:block;margin-top:4px;color:#a093ac;font-size:11px}
.home-midnight .community-server-content>p{margin:13px 0 0;color:#b4a8bf;font-size:13px;line-height:1.75;overflow-wrap:anywhere}
.home-midnight .community-featured-label{display:inline-block;margin-top:10px;color:#d1afea;font-size:11px}
.home-midnight .community-server-facts{display:flex;flex-wrap:wrap;gap:10px 22px;padding:18px 0;font-size:12px}
.home-midnight .community-server-facts>div{display:flex;gap:5px;align-items:baseline}
.home-midnight .community-server-facts strong{color:#dbd0e4;font-weight:600}
.home-midnight .community-server-facts span{color:#a093ac}
.home-midnight .community-server-actions{margin-top:auto;padding-top:2px}
.home-midnight .community-join-button{min-height:40px;padding:9px 17px;font-size:12px;border-radius:8px}
.home-midnight .community-private-notice{display:inline-flex;align-items:center;min-height:40px;color:#a093ac;font-size:12px}
.home-midnight .community-showcase-empty strong,.home-midnight .community-showcase-empty span{display:block}
.home-midnight .community-showcase-empty span{margin-top:7px}
@media(max-width:600px){.home-midnight .community-server-grid{grid-template-columns:minmax(0,1fr);gap:28px}.home-midnight .community-server-card{padding-top:22px}}
