/* Riftline v23 — professional full-site polish
   Purpose: consistency, readability, alignment and production-level finish.
   Loaded after existing page-specific styles so no backend/JS behavior changes. */

:root{
  --polish-radius:12px;
  --polish-radius-sm:8px;
  --polish-shadow:0 24px 70px rgba(0,0,0,.28);
  --polish-border:rgba(110,224,250,.15);
  --polish-muted:#849aa7;
}

html{scroll-padding-top:84px}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:rgba(94,234,255,.22);color:#fff}
a,button,input,textarea,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:2px solid rgba(94,234,255,.78);outline-offset:3px
}

/* Header / navigation */
.topbar{height:92px;column-gap:24px}
.logo{letter-spacing:.2em}
.desktop-nav{gap:30px}
.desktop-nav a{font-size:12px;font-weight:600;color:#93a7b3}
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:max-content}
.header-account,.header-discord,.header-cta{border-radius:7px}
.header-cta{min-height:40px;display:inline-flex;align-items:center}

/* Primary content rhythm */
.section{padding-top:112px;padding-bottom:112px}
.section-eyebrow{font-size:10px;letter-spacing:.2em;margin-bottom:16px}
.section-title-row{margin-bottom:42px}
.section-title-row>div{max-width:760px}
.section-title-row h2,.status-wrap h2,.final-cta h2{line-height:.96}
.section-title-row p{font-size:15px;line-height:1.72;color:var(--polish-muted);max-width:680px}
.section-chip,.sale-pill,.demo-hint{border-radius:999px}

/* Center the sections where centered hierarchy reads better; keep dense/product UI left aligned. */
.pricing>.section-eyebrow,
.pricing>.section-title-row,
.capabilities>.section-eyebrow,
.capabilities>.section-title-row,
.getting-started>.section-eyebrow,
.getting-started>.section-title-row,
.purchase-trust>.section-eyebrow,
.purchase-trust>.section-title-row,
.faq>.section-eyebrow,
.faq>.section-title-row,
.features>.section-eyebrow,
.features>.section-title-row{
  text-align:center
}
.pricing>.section-title-row,
.capabilities>.section-title-row,
.getting-started>.section-title-row,
.purchase-trust>.section-title-row,
.faq>.section-title-row,
.features>.section-title-row{
  justify-content:center;align-items:center
}
.pricing>.section-title-row>div,
.capabilities>.section-title-row>div,
.getting-started>.section-title-row>div,
.purchase-trust>.section-title-row>div,
.faq>.section-title-row>div,
.features>.section-title-row>div{
  margin-inline:auto
}
.pricing>.section-title-row p,
.capabilities>.section-title-row p,
.getting-started>.section-title-row p,
.purchase-trust>.section-title-row p,
.faq>.section-title-row p,
.features>.section-title-row p{
  margin-left:auto;margin-right:auto
}
.pricing>.section-eyebrow,
.capabilities>.section-eyebrow,
.getting-started>.section-eyebrow,
.purchase-trust>.section-eyebrow,
.faq>.section-eyebrow,
.features>.section-eyebrow,
.download-home>.section-eyebrow{
  display:flex;width:max-content;max-width:100%;margin-left:auto;margin-right:auto
}
.features>.section-title-row{flex-direction:column;gap:14px}

/* Hero: keep intentional editorial left alignment but make it more balanced/readable. */
.hero-inner{max-width:var(--max)}
.hero-line{max-width:680px;line-height:1.55}
.hero-tags{row-gap:10px}
.hero-actions{flex-wrap:wrap}
.status-chip,.primary-action,.secondary-action,.plan-button{border-radius:7px}
.primary-action,.secondary-action{min-width:150px}

/* Trust strip */
.trust-strip{border-radius:12px;overflow:hidden;margin-top:20px}
.trust-strip>div{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}
.trust-strip>div+div{border-left:1px solid rgba(255,255,255,.07)}
.trust-strip span{grid-row:auto;padding:0;font-size:9px}
.trust-strip strong{font-size:11px}
.trust-strip small{font-size:11px;line-height:1.55;max-width:310px;margin:0}

/* Pricing */
.launch-price-banner{border-radius:10px}
.hero-release-countdown{display:grid;gap:15px;width:max-content;max-width:100%;margin-top:25px;position:relative;z-index:2}
.hero-countdown-label{font:800 13px/1 ui-monospace,SFMono-Regular,Consolas,monospace;color:#6be5fb;letter-spacing:.2em}
.hero-countdown-units{display:flex;gap:14px;width:100%}
.hero-countdown-units>div{min-width:146px;padding:22px 18px 19px;border:1px solid rgba(97,225,253,.22);border-radius:12px;background:linear-gradient(145deg,rgba(5,19,27,.92),rgba(3,10,15,.82));box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 12px 34px rgba(0,0,0,.2);display:grid;justify-items:center;gap:10px}
.hero-countdown-units b{font:750 clamp(64px,7.2vw,104px)/.95 ui-monospace,SFMono-Regular,Consolas,monospace;color:#e8fbff;letter-spacing:-.08em;text-shadow:0 0 30px rgba(85,226,255,.2);font-variant-numeric:tabular-nums}
.hero-countdown-units span{font:700 11px/1 "Segoe UI Variable","Segoe UI",sans-serif;color:#91a9b7;letter-spacing:.16em;text-transform:uppercase}
.price-grid{gap:14px}
.price-card{border-radius:12px;padding:28px;min-height:500px}
.price-card .card-top{justify-content:center;flex-direction:column;gap:7px;text-align:center}
.price-card .price{text-align:center}
.price-main{justify-content:center}
.price-card>p{text-align:center;font-size:13px;line-height:1.7;max-width:300px;margin:0 auto 22px}
.price-card ul{width:max-content;max-width:100%;margin-left:auto;margin-right:auto;font-size:12px;line-height:1.5}
.price-card .plan-button{text-align:center;font-size:11.5px}
.price-card .plan-button span{float:none;margin-left:10px}
.discount-badge,.popular,.value-badge,.lifetime-badge{border-radius:0 0 0 7px}
.pricing-note{font-size:11px;line-height:1.65;max-width:800px;margin-left:auto;margin-right:auto}

/* Product showcase */
.showcase-grid{gap:16px}
.showcase-card,.capability-card,.step-card,.compat-card,.changelog-card,.trust-card,.policy-card,.faq-item,.discord-card,.status-wrap,.demo-shell{
  border-radius:var(--polish-radius)
}
.showcase-card{min-height:500px}
.showcase-copy{padding:30px 30px 24px}
.showcase-copy h3{font-size:26px}
.showcase-copy p{font-size:13px;line-height:1.7;color:#8196a2}
.showcase-visual{border-radius:0 0 var(--polish-radius) var(--polish-radius)}

.capability-grid{gap:12px;border:0}
.capability-card{border:1px solid rgba(255,255,255,.075);text-align:center;min-height:220px;display:flex;flex-direction:column;justify-content:center;align-items:center}
.capability-card>span{font-size:9px}
.capability-card h3{font-size:19px;margin:20px 0 10px}
.capability-card p{font-size:12.5px;line-height:1.65;max-width:260px}

.steps-grid{gap:12px;border:0}
.step-card,.step-card+.step-card{border:1px solid rgba(94,234,255,.10)}
.step-card{text-align:center;min-height:245px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:26px 22px}
.step-card>b{font-size:34px}
.step-card>span{margin-top:18px;font-size:8px}
.step-card h3{font-size:17px;margin:10px 0 9px}
.step-card p{font-size:12px;line-height:1.65;max-width:240px}
.getting-started .release-link{margin-left:auto;margin-right:auto}

/* Homepage download section */
.download-home>.section-eyebrow{text-align:center}
.download-home-shell{border-radius:14px;gap:38px}
.download-home-copy{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.download-home-copy h2{max-width:780px}
.download-home-copy p{font-size:14px;line-height:1.75;max-width:680px}
.download-home-actions{justify-content:center}
.download-home-status{border-radius:999px;font-size:9px}
.download-home-meta{border-radius:10px;overflow:hidden}
.download-home-meta strong{font-size:14px}
.download-home-meta span{font-size:8px}
.download-home-note{justify-content:center;text-align:center;font-size:11px}

/* Compatibility / release cards remain left aligned for scanability. */
.release-grid{gap:16px}
.compat-card,.changelog-card{padding:36px}
.compat-card>p{font-size:12px;line-height:1.7}
.compat-list span{font-size:9px}
.compat-list b{font-size:11px}
.release-list span{font-size:11.5px;line-height:1.6}
.release-list span b{font-size:12px}
.release-link{font-size:11px}

/* Status */
.status-wrap{padding:48px 46px;background:linear-gradient(145deg,rgba(10,25,35,.88),rgba(5,11,16,.96));border:1px solid rgba(94,222,250,.12)}
.status-wrap p{font-size:13px;line-height:1.7;color:#7c929e}
.system-status span{font-size:8px}
.system-status b{font-size:12px}

/* Purchase trust */
.trust-grid{gap:12px}
.trust-card{text-align:center;min-height:205px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.trust-card>span{font-size:8px}
.trust-card h3{font-size:18px;margin:20px 0 9px}
.trust-card p{font-size:12.5px;line-height:1.7;max-width:300px}

/* FAQ */
.faq-groups{gap:28px}
.faq-group{grid-template-columns:230px 1fr;gap:28px}
.faq-group-head{padding-right:0}
.faq-group-head h3{font-size:18px}
.faq-group-head p{font-size:11.5px;line-height:1.6}
.faq-item{padding:0 20px}
.faq-item summary{font-size:13.5px;line-height:1.4;padding:0 2px}
.faq-item p{font-size:12.5px;line-height:1.75;color:#7e95a2}

/* Discord */
.discord-card{grid-template-columns:100px 1fr auto;padding:42px 44px}
.discord-copy h2{font-size:40px}
.discord-copy p{font-size:13px;line-height:1.7;color:#7c919d}
.discord-copy>span{font-size:9px}

/* Policies / final CTA */
.policy-grid{gap:12px}
.policy-card{text-align:center;align-items:center;min-height:230px}
.policy-card>span{font-size:8px}
.policy-card h3{font-size:18px;margin:22px 0 10px}
.policy-card p{font-size:12px;line-height:1.7}
.policy-card>a,.policy-card>b{font-size:10px}
.final-cta{min-height:600px;height:auto;padding:100px 24px}
.final-cta p{font-size:13px!important;color:#778e9a!important;letter-spacing:.03em!important}
.final-actions{justify-content:center;flex-wrap:wrap}

/* Utility pages: center the hero, keep long-form/detail content readable left aligned. */
.utility-main{padding-top:78px}
.utility-hero{text-align:center;padding:62px 0 54px;overflow:hidden}
.utility-hero:before{left:50%;transform:translateX(-50%)}
.utility-hero h1{margin-left:auto;margin-right:auto;max-width:900px}
.utility-hero p{margin-left:auto;margin-right:auto;font-size:15px;line-height:1.75;color:#8298a4}
.utility-hero .utility-actions{justify-content:center}
.utility-kicker{font-size:10px}
.utility-grid{gap:14px;margin-top:42px}
.utility-card{border-radius:12px;padding:28px;min-height:210px}
.utility-card>span{font-size:8px}
.utility-card h2,.utility-card h3{font-size:25px;line-height:1.15}
.utility-card p,.utility-card li{font-size:13px;line-height:1.75;color:#8197a3}
.utility-card a{font-size:11px}
.utility-notice{border-radius:10px;font-size:12px;line-height:1.7}
.utility-row span{font-size:9px}
.utility-row b,.utility-row p{font-size:12px}
.service-card{border-radius:11px;text-align:center;min-height:165px}
.service-card strong{justify-content:center;font-size:18px}
.service-card small{font-size:10px;line-height:1.6}
.release-entry{grid-template-columns:150px 1fr}
.release-entry time{font-size:9px}
.release-entry li{font-size:12px;line-height:1.75}
.download-step{border-radius:11px;padding-top:24px;padding-bottom:24px}
.download-step h2{font-size:19px}
.download-step p{font-size:12.5px}
.policy-copy{margin-left:auto;margin-right:auto}
.policy-copy h2{font-size:27px}
.policy-copy h3{font-size:18px}
.policy-copy p,.policy-copy li{font-size:13px;line-height:1.85;color:#899da7}

/* Account portal: centered page intro, readable interface typography. */
.account-main{padding-top:64px}
.account-hero{text-align:center;grid-template-columns:1fr;justify-items:center}
.account-hero .utility-actions{justify-content:center}
.account-auth-grid{gap:16px}
.account-panel,.account-stat,.account-license{border-radius:11px}
.account-panel{padding:30px}
.account-panel-head span{font-size:8px}
.account-panel-head h2{font-size:29px}
.account-panel-head p{font-size:12px;line-height:1.65;color:#7e95a1}
.account-tab{border-radius:7px;font-size:9px}
.account-field>span{font-size:8px}
.account-field input{border-radius:7px;font-size:12px;height:46px}
.account-field small{font-size:10px}
.account-submit{border-radius:7px;font-size:9px}
.account-message{border-radius:7px;font-size:10px;min-height:40px}
.account-security-item strong{font-size:11px}
.account-security-item p{font-size:10.5px}
.account-stat{text-align:center;min-height:116px}
.account-stat span{font-size:8px}
.account-stat strong{font-size:18px}
.account-stat small{font-size:9px}
.account-license-top strong{font-size:13px}
.account-license-top span{font-size:8px;border-radius:999px}
.account-license-meta span{font-size:7.5px}
.account-license-meta b{font-size:10px}
.account-empty{font-size:11px;border-radius:9px}
.discord-link-state strong{font-size:12px}
.discord-link-state p{font-size:10.5px!important;line-height:1.6!important}
.account-small-button{border-radius:7px;font-size:9px}
.account-link-license input,.account-password-grid input{border-radius:7px;font-size:11px}
.account-discord-gate{border-radius:14px}

/* Download center live status */
.download-live-status{margin-left:auto;margin-right:auto;text-align:center;border-left:0!important;border:1px solid rgba(116,224,255,.18)!important;border-radius:9px;padding:13px 16px;font-size:12px!important}
.download-release-card{text-align:left}
.download-release-notes{font-size:12.5px!important}

/* Admin release manager */
.release-admin{padding-top:128px}
.release-admin-hero{text-align:center;margin-left:auto;margin-right:auto}
.release-admin-hero p{margin-left:auto;margin-right:auto;font-size:14px!important}
.release-panel{border-radius:12px}
.release-panel-head h2{font-size:1.5rem!important}
.release-help{font-size:12px!important}
.release-field>span{font-size:10px!important}
.release-field input,.release-field textarea{border-radius:7px}
.release-button{border-radius:7px}
.release-details span{font-size:10px!important}
.release-details strong,.release-details code{font-size:11px!important}
.release-progress-text{font-size:10px!important}

/* Footer */
footer,.utility-footer{min-height:118px;height:auto;padding:26px 0;column-gap:24px;font-size:11px}
.footer-links{gap:16px;row-gap:9px}
.footer-links a{color:#6f8592;transition:color .18s ease}
.footer-links a:hover{color:#dff9ff}
.footer-logo img{width:34px;height:34px}

/* Mobile / tablet */
@media(max-width:1100px){
  .desktop-nav{gap:20px}
  .desktop-nav a{font-size:11px}
  .price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .price-card.lifetime-card{grid-column:1/-1}
  .faq-group{grid-template-columns:1fr;gap:4px}
  .faq-group-head{text-align:center;justify-content:center;padding-bottom:8px}
  .faq-group-head>span{display:none}
  .discord-card{grid-template-columns:90px 1fr}
  .discord-actions{grid-column:2;flex-direction:row;align-items:center}
}

@media(max-width:760px){
  html{scroll-padding-top:64px}
  .topbar{height:76px}
  .section{padding-top:76px;padding-bottom:76px}
  .section-title-row{margin-bottom:30px}
  .section-title-row h2{font-size:clamp(38px,11vw,52px)}
  .section-title-row p{font-size:13px}
  .hero{min-height:720px}
  .hero-inner{margin-top:70px}
  .hero h1{font-size:clamp(58px,18vw,88px)}
  .hero-line{font-size:16px;max-width:520px}
  .hero-actions{gap:12px}
  .hero-actions .primary-action{width:100%;max-width:300px}
  .trust-strip>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.07)}
  .price-grid{grid-template-columns:1fr}
  .price-card.lifetime-card{grid-column:auto}
  .price-card{min-height:auto}
  .launch-price-banner{text-align:center;grid-template-columns:1fr;gap:10px}
  .launch-price-banner>span{border-right:0;padding-right:0}
  .launch-price-banner>small{justify-self:center;text-align:center}
  .hero-release-countdown{margin-top:22px}
  .hero-countdown-units{gap:7px}
  .hero-countdown-units>div{flex:1;min-width:0;padding:15px 5px 13px}
  .hero-countdown-units b{font-size:clamp(42px,12vw,64px)}
  .hero-countdown-units span{font-size:8px;letter-spacing:.1em}
  .showcase-copy{text-align:center}
  .showcase-copy h3,.showcase-copy p{margin-left:auto;margin-right:auto}
  .capability-grid{grid-template-columns:1fr}
  .steps-grid{gap:10px}
  .download-home-shell{padding:28px 20px}
  .download-home-note{flex-direction:column;gap:6px}
  .status-wrap{grid-template-columns:1fr;text-align:center;padding:32px 22px}
  .system-status{grid-template-columns:1fr 1fr 1fr;gap:12px}
  .system-status>i{display:none}
  .system-status div{border-left:0;padding:12px 6px;border:1px solid rgba(255,255,255,.07);border-radius:8px}
  .discord-card{grid-template-columns:1fr;text-align:center;padding:32px 22px}
  .discord-mark{margin:0 auto;width:78px;height:78px}
  .discord-copy h2{font-size:32px;margin-left:auto;margin-right:auto}
  .discord-copy p{margin-left:auto;margin-right:auto}
  .discord-actions{grid-column:auto;flex-direction:column;align-items:center;min-width:0}
  .policy-card{min-height:190px}
  .utility-main{padding-top:42px;padding-bottom:85px}
  .utility-hero{padding:42px 0 40px}
  .utility-hero h1{font-size:clamp(42px,13vw,58px)}
  .utility-hero p{font-size:13px}
  .utility-grid{grid-template-columns:1fr}
  .utility-card{padding:22px}
  .release-entry{grid-template-columns:1fr;gap:9px}
  .download-step{padding-left:66px}
  .account-panel{padding:22px}
  .account-panel-head{flex-direction:column}
  .account-panel-head h2{font-size:25px}
  .account-tabs{display:grid;grid-template-columns:1fr 1fr}
  .account-tab{width:100%}
  .release-admin{width:min(100% - 24px,1160px)!important;padding-top:100px!important}
  footer,.utility-footer{grid-template-columns:1fr!important;text-align:center;justify-items:center;gap:18px}
  .footer-links{justify-self:center!important;justify-content:center!important}
}

@media(max-width:470px){
  .hero-tags span{font-size:9px;padding-right:10px;margin-right:10px}
  .hero-actions{align-items:flex-start}
  .text-action{font-size:11px}
  .price-card{padding:24px 20px}
  .download-home-actions{width:100%;flex-direction:column}
  .download-home-actions .primary-action{width:100%}
  .final-actions{width:100%;flex-direction:column}
  .final-actions .primary-action,.final-actions .secondary-action{width:100%;max-width:310px}
}

@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Optional analytics choice: keep it clear, compact and out of the checkout flow. */
.analytics-notice[hidden]{display:none}
.analytics-notice{position:fixed;z-index:145;left:50%;bottom:18px;transform:translateX(-50%);width:min(760px,calc(100% - 32px));display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px;border:1px solid rgba(103,231,255,.2);border-radius:12px;background:rgba(4,13,19,.97);box-shadow:0 18px 56px rgba(0,0,0,.48);backdrop-filter:blur(18px)}
.analytics-notice-copy{max-width:450px}.analytics-notice-copy strong{font-size:13px;color:#eafaff}.analytics-notice-copy p{margin:5px 0 0;color:#91a6b1;font-size:11px;line-height:1.6}.analytics-notice-copy a{color:#69def4;text-decoration:underline;text-underline-offset:3px}
.analytics-notice-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.analytics-notice-actions button{min-height:40px;border-radius:7px;padding:0 13px;font-size:11px;font-weight:600;font-family:inherit;cursor:pointer}.analytics-choice-secondary{border:1px solid rgba(103,231,255,.22);background:transparent;color:#c6dce5}.analytics-choice-primary{border:1px solid #83e9f8;background:#c9f7ff;color:#061018}.analytics-notice button:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:650px){.analytics-notice{left:12px;right:12px;bottom:12px;transform:none;width:auto;display:block;padding:16px}.analytics-notice-actions{margin-top:13px}.analytics-notice-actions button{flex:1}}

/* Mobile conversion: keep the primary action available without covering checkout. */
.mobile-sticky-cta{display:none}
@media(max-width:760px){
  body.page-home{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
  .mobile-sticky-cta{
    position:fixed;left:14px;right:14px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:110;
    min-height:52px;display:flex;align-items:center;justify-content:center;gap:12px;
    padding:12px 18px;border:1px solid rgba(103,231,255,.42);border-radius:9px;
    background:linear-gradient(110deg,#e8fbff,#bdeefa);color:#061018;
    box-shadow:0 12px 38px rgba(0,0,0,.42);font-size:14px;font-weight:800;letter-spacing:.01em
  }
  .mobile-sticky-cta span{color:#087d9a;font-size:18px;line-height:1}
  .mobile-sticky-cta:focus-visible{outline:3px solid #fff;outline-offset:3px}
  .menu-open .mobile-sticky-cta,.modal-open .mobile-sticky-cta{display:none}
  .resume-checkout{bottom:calc(76px + env(safe-area-inset-bottom))}
}

/* Give long policy pages more comfortable reading size. */
.policy-copy p,.policy-copy li{font-size:15px;line-height:1.8}
@media(max-width:760px){.policy-copy p,.policy-copy li{font-size:14px;line-height:1.75}}

.account-support-form{display:grid;gap:12px}.account-support-form label{display:grid;gap:6px;color:#79919e;font-size:10px}.account-support-form input,.account-support-form select,.account-support-form textarea{width:100%;border:1px solid rgba(93,218,247,.16);background:#061018;color:#e4f8fd;padding:11px 12px;border-radius:7px;font:inherit;font-size:11px;outline:none}.account-support-form select{color-scheme:dark}.account-support-form textarea{resize:vertical;min-height:72px}.account-support-form input:focus,.account-support-form select:focus,.account-support-form textarea:focus{border-color:rgba(99,232,255,.48);box-shadow:0 0 0 3px rgba(59,213,244,.055)}.account-support-form .account-small-button{justify-self:start}.account-message a{color:#73e5fa;text-decoration:underline}

/* Center the signed-in account dashboard and avoid a blank half-page when the license column is empty. */
.account-summary{max-width:850px;margin-left:auto;margin-right:auto}
.account-dashboard-grid{display:block;max-width:850px;margin-left:auto;margin-right:auto}
.account-dashboard-grid>.account-stack{margin-bottom:12px}
