/* Xinix: editorial surfaces, restrained motion and accessible account forms. */
body.app-page { --bg:#f5f4ef; --card:#fffefa; --ink:#202a22; --muted:#657166; --line:#dddfd5; --green:#244b3b; --accent:#bed59f; --sans:Manrope,'Segoe UI',sans-serif; --serif:'DM Serif Display',Georgia,serif; margin:0; color:var(--ink); background:var(--bg); font-family:var(--sans); color-scheme:light; }
html[data-theme=dark] body.app-page { --bg:#121a16; --card:#1b2620; --ink:#eef1e7; --muted:#a6b3a5; --line:#344238; --green:#bad59f; --accent:#304536; color-scheme:dark; }
body.app-page *,body.app-page *::before,body.app-page *::after { box-sizing:border-box; }
body.app-page a { color:inherit; text-decoration:none; }
body.app-page .brand { display:inline-flex; align-items:center; gap:11px; font-size:25px; font-weight:800; letter-spacing:-.06em; }
body.app-page .brand-mark { background:none; transform:none; width:36px; height:36px; padding:0; color:var(--green); }
.brand-mark svg { display:block; width:100%; height:100%; }
body.app-page .app-topbar { height:80px; background:var(--bg); border-color:var(--line); }
body.app-page .app-topbar-inner { width:min(1280px,calc(100% - 64px)); }
.app-theme-toggle { width:35px; height:35px; border:1px solid var(--line); border-radius:50%; background:transparent; font:20px var(--sans); color:var(--ink); cursor:pointer; }
body.app-page .app-top-actions { color:var(--muted); gap:20px; }
body.app-page .top-button { display:inline-flex; align-items:center; gap:12px; min-height:38px; border:1px solid var(--line); border-radius:7px; background:var(--card); color:var(--ink); padding:0 14px; font:600 11px var(--sans); cursor:pointer; }
body.app-page .top-button:hover { border-color:var(--green); color:var(--green); }
.auth-layout { width:min(1100px,calc(100% - 64px)); margin:60px auto 80px; display:grid; grid-template-columns:1.05fr 1fr; gap:90px; align-items:center; }
.auth-story { position:relative; align-self:stretch; padding:34px 0; }
body.app-page .eyebrow { color:var(--green); font:700 10px/1.5 var(--sans); letter-spacing:.13em; text-transform:uppercase; }
.auth-story h2 { margin:28px 0 20px; font:400 clamp(42px,4.4vw,58px)/1.06 var(--serif); letter-spacing:-.045em; }
.auth-story h2 em { color:var(--green); }
.auth-story > p:not(.eyebrow) { max-width:365px; color:var(--muted); font-size:13px; line-height:1.85; }
.auth-orb { position:relative; height:170px; width:100%; display:grid; place-items:center; margin:18px 0; }
.auth-orb::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse,color-mix(in srgb,var(--accent) 40%,transparent),transparent 66%); }
.auth-orb i { width:230px; height:100px; border:1px solid color-mix(in srgb,var(--green) 24%,transparent); position:absolute; border-radius:50%; transform:rotate(-25deg); }
.auth-orb i:nth-child(2) { transform:rotate(25deg); }
.auth-orb i:nth-child(3) { width:100px; height:150px; transform:rotate(50deg); }
.auth-orb span { position:relative; width:52px; height:52px; color:var(--green); transform:rotate(-7deg); }
.auth-benefits { display:grid; gap:17px; margin:20px 0 28px; color:var(--muted); font-size:12px; }
.auth-benefits b { font-size:9px; color:var(--green); font-weight:600; margin-right:18px; }
.auth-story > a { display:inline-flex; gap:28px; padding-bottom:9px; border-bottom:1px solid var(--line); font-size:12px; color:var(--green); }
body.app-page .auth-card { padding:34px; width:100%; margin:0; border:1px solid var(--line); border-radius:18px; background:var(--card); box-shadow:0 20px 70px -35px #132a2330; }
body.app-page .auth-card h1 { font:400 38px/1.07 var(--serif); letter-spacing:-.04em; }
body.app-page .auth-card > p { color:var(--muted); font-size:12px; line-height:1.8; margin:0 0 20px; }
body.app-page .auth-card > .eyebrow { color:var(--green); margin-bottom:13px; font-size:9px; }
body.app-page .form-field { margin:15px 0 10px; }
body.app-page .form-field span { color:var(--ink); font-size:11px; }
.form-field small { margin-left:5px; color:var(--muted); font-size:9px; font-weight:400; }
body.app-page .form-field input,body.app-page .form-field select { height:45px; background:var(--bg); color:var(--ink); border:1px solid var(--line); border-radius:7px; font:13px var(--sans); }
body.app-page .form-field input:focus { outline:2px solid color-mix(in srgb,var(--green) 20%,transparent); border-color:var(--green); box-shadow:none; }
.password-wrap { position:relative; }.password-wrap input { padding-right:72px; }
.password-toggle { position:absolute; inset:0 12px 0 auto; background:none; border:0; color:var(--muted); font:10px var(--sans); cursor:pointer; }
body.app-page .form-hint { font-size:10px; line-height:1.6; color:var(--muted); }
.password-meter { height:3px; margin-top:8px; border-radius:3px; background:var(--line); overflow:hidden; }
.password-meter span { display:block; height:100%; width:0; background:var(--green); transition:width .25s; }
.password-meter[data-level='1'] span { width:25%; }.password-meter[data-level='2'] span { width:50%; }.password-meter[data-level='3'] span { width:75%; }.password-meter[data-level='4'] span { width:100%; }
body.app-page .button { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:46px; border:0; border-radius:7px; background:var(--green); color:var(--bg); padding:0 20px; font:700 12px var(--sans); cursor:pointer; transition:transform .2s,filter .2s; }
body.app-page .button:hover { transform:translateY(-2px); filter:brightness(1.08); }
body.app-page button:disabled { opacity:.55; cursor:wait; transform:none; }
body.app-page .auth-switch { font-size:11px !important; color:var(--muted) !important; margin:20px 0 0 !important; }
body.app-page .auth-switch a { color:var(--green); border-bottom:1px solid var(--line); }
body.app-page .secure-note { margin:18px 0 0 !important; font-size:9px !important; }
altcha-widget { display:block; margin:20px 0 10px; --altcha-color-base:var(--bg); --altcha-color-text:var(--ink); --altcha-color-border:var(--line); --altcha-color-primary:var(--green); --altcha-border-radius:7px; --altcha-max-width:100%; font:11px var(--sans); }
body.app-page .app-footer { display:flex; justify-content:center; gap:28px; border-color:var(--line); color:var(--muted); padding:22px; }
.app-footer a { color:var(--green); }
.auth-confirmation { border:1px solid var(--line); border-radius:20px; padding:22px; margin:18px 0; background:var(--card); }
.auth-confirmation h2 { font:400 27px/1.15 var(--serif,Georgia,serif); margin:0 0 12px; color:var(--ink); }
.auth-confirmation p { font-size:13px; line-height:1.7; color:var(--muted); }
.auth-confirmation .button { width:100%; margin-top:12px; }
.auth-confirmation .small-button { display:block; width:100%; margin-top:10px; }
body.app-page .surface,body.app-page .stat-card,body.app-page .model-card { background:var(--card); border-color:var(--line); border-radius:12px; }
body.app-page .stat-card strong,body.app-page .surface h2,body.app-page .model-card h3,body.app-page .app-user strong,body.app-page .page-heading h1 { color:var(--ink); }
body.app-page .surface p,body.app-page .page-heading p,body.app-page .app-user span,body.app-page .stat-card span,body.app-page .model-card p { color:var(--muted); }
body.app-page .app-user { border-color:var(--line); }
body.app-page .app-nav a { color:var(--muted); border-radius:7px; }
body.app-page .app-nav a:hover,body.app-page .app-nav a.is-active { color:var(--green); background:color-mix(in srgb,var(--green) 10%,transparent); }
body.app-page .locked-card { color:var(--ink); border-color:var(--line); border-radius:12px; background:color-mix(in srgb,var(--accent) 12%,var(--card)); }
body.app-page .locked-card p { color:var(--muted); }
body.app-page .small-button { border-color:var(--line); color:var(--green); background:var(--card); border-radius:7px; font-family:var(--sans); }
body.app-page .app-main { min-height:calc(100vh - 260px); }
body.app-page :focus-visible { outline:2px solid var(--green); outline-offset:3px; }
body.landing .lp-hero { position:relative; }
body.landing .lp-hero::before { content:''; position:absolute; inset:10% -4% 0 35%; background:radial-gradient(ellipse at 70% 45%,color-mix(in srgb,var(--lp-green) 8%,transparent),transparent 68%); z-index:-1; }
.lp-feature { border-radius:12px; padding-inline:20px; margin-inline:-20px; }
.lp-feature:hover { background:color-mix(in srgb,var(--lp-green) 4%,transparent); }
.lp-final-cta { border-radius:18px; }
.lp-faq { display:grid; grid-template-columns:1fr 1.2fr; gap:90px; padding-block:20px 100px; }
.lp-faq h2 { font:400 clamp(39px,4vw,56px)/1.07 'DM Serif Display',Georgia,serif; letter-spacing:-.04em; margin:20px 0; }
.lp-faq h2 em { color:var(--lp-green); }.lp-faq > div > p:not(.lp-kicker) { font-size:13px; color:var(--lp-muted); }
.lp-faq details { border-bottom:1px solid var(--lp-line); padding:20px 0; }
.lp-faq summary { display:flex; align-items:center; justify-content:space-between; gap:20px; list-style:none; font-size:13px; font-weight:600; cursor:pointer; }
.lp-faq summary::-webkit-details-marker { display:none; }.lp-faq summary span { font-size:23px; color:var(--lp-green); font-weight:400; transition:transform .25s; }
.lp-faq details[open] summary span { transform:rotate(45deg); }.lp-faq details p { color:var(--lp-muted); font-size:12px; line-height:1.9; max-width:95%; margin:14px 0 0; }
.lp-faq details[open] p { animation:faq-enter .25s ease-out; }
.lp-nav a.is-current::after { transform:scaleX(1); }
.lp-feature-symbol { transform-origin:center; }.lp-feature:hover .lp-feature-symbol i { transition:transform .4s; transform:rotate(7deg); }
@keyframes faq-enter { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:none; } }
@media(prefers-reduced-motion:no-preference) {
 .auth-orb i { animation:orb-drift 9s ease-in-out infinite alternate; }.auth-orb i:nth-child(2) { animation-delay:-5s; }.auth-orb i:nth-child(3) { animation-delay:-2s; }
 @keyframes orb-drift { to { translate:0 -8px; rotate:12deg; } }
 .lp-orbit-one { animation:orbit-drift 14s ease-in-out infinite alternate; }.lp-orbit-two { animation:orbit-drift 18s ease-in-out -9s infinite alternate-reverse; }
 @keyframes orbit-drift { to { translate:0 -12px; rotate:8deg; } }
 @supports(animation-timeline:view()) { .lp-tour-visual { animation:tour-reveal linear both; animation-timeline:view(); animation-range:entry 0% cover 40%; } @keyframes tour-reveal { from { transform:translateY(25px) rotate(-3deg); } to { transform:none; } } }
}
@media(max-width:1050px) { .auth-layout { gap:45px; }.auth-story h2 { font-size:44px; }.lp-faq { gap:40px; } }
@media(max-width:760px) { .auth-layout { display:block; width:min(460px,calc(100% - 32px)); margin:30px auto 45px; }.auth-story { display:none; }body.app-page .app-topbar { height:70px; }body.app-page .app-topbar-inner { width:calc(100% - 32px); }body.app-page .app-top-actions { gap:12px; font-size:10px; }body.app-page .auth-card { padding:28px 24px; }body.app-page .auth-card h1 { font-size:34px; }.lp-faq { grid-template-columns:1fr; gap:15px; padding-bottom:65px; }body.app-page .app-footer { flex-wrap:wrap; gap:10px; } }
@media(min-width:350px) and (max-width:520px) { .auth-card .form-row { grid-template-columns:1fr 1fr; gap:10px; } }
@media(prefers-reduced-motion:reduce) { .lp-faq details[open] p { animation:none; }body.app-page .button:hover { transform:none; } }

/* Account workspace: shared components, native scrolling, no looping effects. */
body.app-page .account-dashboard { width:min(1280px,calc(100% - 64px)); margin:52px auto 80px; }
.account-dashboard .app-layout { grid-template-columns:208px minmax(0,1fr); gap:52px; }
.account-dashboard .app-sidebar { padding:0; }
.account-dashboard .app-user { display:flex; align-items:center; gap:12px; padding:0 8px 24px; }
.account-dashboard .app-user > div { min-width:0; }
.account-dashboard .app-user strong { font-size:13px; }
.account-dashboard .app-user .account-avatar { display:grid; place-items:center; flex:0 0 44px; height:44px; margin:0; border:1px solid var(--line); border-radius:15px; color:var(--green); background:color-mix(in srgb,var(--green) 8%,var(--card)); font-size:13px; font-weight:700; }
.account-dashboard svg { display:block; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; flex:0 0 auto; }
body.app-page .account-dashboard .app-nav { gap:5px; margin-top:22px; }
body.app-page .account-dashboard .app-nav a { display:flex; align-items:center; gap:12px; min-height:44px; padding:10px 12px; border-radius:13px; font-size:12px; font-weight:600; }
.account-dashboard .dashboard-nav-cursor { border-radius:13px; }
.account-dashboard .sidebar-section-title { margin:20px 12px 7px; font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
body.app-page .account-dashboard .sidebar-home { display:inline-block; margin:28px 12px 0; color:var(--muted); font-size:11px; }
.account-dashboard .sidebar-home:hover { color:var(--green); }
.account-dashboard .page-heading { margin-bottom:24px; }
.account-dashboard .page-heading h1 { font-size:clamp(36px,3.5vw,50px); letter-spacing:-.035em; overflow-wrap:anywhere; }
.account-dashboard .page-heading p:not(.eyebrow) { max-width:640px; font-size:13px; line-height:1.8; }
.account-dashboard .dashboard-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.account-dashboard .account-status { display:inline-flex; align-items:center; gap:8px; color:var(--muted); font-size:11px; }
.account-dashboard .account-status i { width:6px; height:6px; border-radius:50%; background:var(--green); box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 8%,transparent); }
body.app-page .account-dashboard .small-button { min-height:38px; padding:0 14px; border-radius:11px; font-size:11px; font-weight:600; }
body.app-page .account-dashboard .button { border-radius:12px; min-height:46px; }
.account-dashboard .stat-grid { gap:16px; margin-bottom:24px; }
body.app-page .account-dashboard .stat-card { padding:22px; min-height:150px; border-radius:22px; }
.account-dashboard .stat-card span { font-size:11px; }
.account-dashboard .stat-card strong { margin:17px 0 12px; font:400 clamp(24px,2.2vw,31px)/1.12 var(--serif); letter-spacing:-.025em; }
.account-dashboard .stat-card small { display:block; color:var(--muted); font-size:10px; line-height:1.6; }
.account-dashboard .account-welcome { display:grid; grid-template-columns:minmax(0,1fr) 160px; gap:24px; align-items:center; margin:0 0 24px; padding:32px; border:1px solid var(--line); border-radius:24px; background:linear-gradient(110deg,var(--card),color-mix(in srgb,var(--green) 7%,var(--card))); }
.account-dashboard .account-welcome .eyebrow { margin:0 0 15px; }
.account-dashboard .account-welcome h2 { margin:0; max-width:490px; font:400 clamp(27px,2.6vw,36px)/1.14 var(--serif); letter-spacing:-.025em; }
.account-dashboard .account-welcome p:not(.eyebrow) { color:var(--muted); font-size:12px; line-height:1.9; max-width:460px; margin:16px 0 24px; }
.account-dashboard .welcome-visual { display:grid; place-items:center; aspect-ratio:1; border:1px solid color-mix(in srgb,var(--green) 16%,var(--line)); border-radius:40px; color:var(--green); background:color-mix(in srgb,var(--card) 55%,transparent); transform:rotate(-6deg); }
.account-dashboard .welcome-visual svg { width:80px; height:80px; stroke-width:.65; transform:rotate(6deg); }
.account-dashboard .account-quick-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.account-dashboard .account-quick-card { display:flex; flex-direction:column; align-items:flex-start; padding:24px; border:1px solid var(--line); border-radius:22px; background:var(--card); transition:transform .22s,border-color .22s; }
.account-dashboard .account-quick-card:hover { transform:translateY(-3px); border-color:color-mix(in srgb,var(--green) 45%,var(--line)); }
.account-dashboard .account-quick-card > svg { width:25px; height:25px; color:var(--green); margin-bottom:24px; }
.account-dashboard .account-quick-card h2 { font-size:13px; line-height:1.5; margin:0 0 8px; letter-spacing:-.015em; }
.account-dashboard .account-quick-card p { font-size:11px; line-height:1.8; color:var(--muted); margin:0 0 22px; }
.account-dashboard .account-quick-card > span { margin-top:auto; color:var(--green); font-size:10px; font-weight:700; }
.account-dashboard .account-settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; align-items:start; }
.account-dashboard .settings-wide { grid-column:1/-1; }
body.app-page .account-dashboard .surface { padding:28px; border-radius:24px; margin:0 0 22px; }
.account-dashboard .account-settings-grid > .surface,.account-dashboard .settings-stack > .surface { margin-bottom:0; }
.account-dashboard .surface h2 { margin:0 0 12px; font-size:15px; line-height:1.5; }
.account-dashboard .surface p { font-size:12px; line-height:1.8; }
.account-dashboard .section-heading { display:flex; gap:14px; align-items:flex-start; margin-bottom:24px; }
.account-dashboard .section-heading > svg { width:23px; height:23px; color:var(--green); margin-top:2px; }
.account-dashboard .section-heading h2 { margin:0 0 5px; }
.account-dashboard .section-heading p { margin:0; font-size:11px; }
.account-dashboard .settings-stack { display:grid; gap:22px; min-width:0; }
.account-dashboard .preference-row { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 0; border-top:1px solid var(--line); }
.account-dashboard .preference-row h3 { margin:0 0 4px; font-size:12px; font-weight:650; }
.account-dashboard .preference-row p { margin:0; font-size:11px; }
.account-dashboard .preference-options { display:flex; flex:0 0 auto; padding:4px; gap:4px; border:1px solid var(--line); border-radius:14px; background:var(--bg); }
.account-dashboard .pref-choice { border:1px solid transparent; border-radius:10px; background:transparent; color:var(--muted); padding:9px 14px; min-height:38px; font:600 11px var(--sans); cursor:pointer; transition:background .2s,color .2s; }
.account-dashboard .pref-choice:hover { color:var(--ink); }
.account-dashboard .pref-choice[aria-pressed=true] { background:var(--card); border-color:var(--line); color:var(--green); box-shadow:0 2px 4px #00000006; }
body.app-page .account-dashboard .form-field { margin:20px 0 12px; }
body.app-page .account-dashboard .form-field input { border-radius:12px; height:48px; }
body.app-page .account-dashboard .form-field > span { font-size:12px; }
.account-dashboard .form-hint { margin:0 0 16px; }
.account-dashboard form .button { margin-top:14px; }
.account-dashboard .account-facts { margin:12px 0 22px; }
.account-dashboard .account-facts > div { display:flex; justify-content:space-between; align-items:baseline; gap:20px; padding:14px 0; border-bottom:1px solid var(--line); font-size:11px; line-height:1.7; }
.account-dashboard .account-facts dt { flex:0 0 auto; color:var(--muted); }
.account-dashboard .account-facts dd { margin:0; text-align:right; overflow-wrap:anywhere; color:var(--ink); }
body.app-page .account-dashboard .text-link { color:var(--green); font-size:11px; font-weight:650; }
.account-dashboard .account-api-url { display:block; overflow-wrap:anywhere; padding:14px; margin:18px 0 16px; border:1px solid var(--line); border-radius:12px; background:var(--bg); color:var(--ink); font:11px/1.7 ui-monospace,Consolas,monospace; }
.account-dashboard .settings-key-link { display:inline-flex; margin:12px 0 0 12px; }
.account-dashboard .account-save-status { color:var(--green); min-height:18px; margin:12px 0 0; font-size:11px; }
.account-dashboard .account-save-status:empty { display:none; }
body.app-page .account-dashboard .model-card,body.app-page .account-dashboard .locked-card { border-radius:22px; padding:25px; }
.account-dashboard .key-row { border-color:var(--line); }
.account-dashboard .key-row-main span,.account-dashboard .key-mask { color:var(--muted); }
@media(max-width:1100px) { .account-dashboard .app-layout { grid-template-columns:185px minmax(0,1fr); gap:30px; }.account-dashboard .stat-card { padding:18px; }.account-dashboard .account-welcome { grid-template-columns:minmax(0,1fr) 125px; padding:26px; }.account-dashboard .account-quick-card { padding:20px; }.account-dashboard .preference-row { align-items:flex-start; }.account-dashboard .account-facts > div { flex-direction:column; gap:4px; }.account-dashboard .account-facts dd { text-align:left; } }
@media(max-width:900px) { body.app-page .account-dashboard { width:calc(100% - 40px); margin-top:32px; }.account-dashboard .app-layout { grid-template-columns:1fr; gap:28px; }.account-dashboard .app-user { padding:0 0 16px; }.account-dashboard .sidebar-home,.account-dashboard .sidebar-section-title { display:none; }body.app-page .account-dashboard .app-nav { display:flex; gap:6px; margin-top:12px; padding:4px 0 8px; }body.app-page .account-dashboard .app-nav a { flex:0 0 auto; min-height:40px; }body.app-page .account-dashboard .app-nav a.is-active { background:color-mix(in srgb,var(--green) 10%,transparent); }.account-dashboard .app-nav svg { width:17px; height:17px; }.account-dashboard .account-welcome { grid-template-columns:minmax(0,1fr) 140px; }.account-dashboard .account-facts > div { flex-direction:row; gap:16px; }.account-dashboard .account-facts dd { text-align:right; } }
@media(max-width:600px) { body.app-page .account-dashboard { width:calc(100% - 32px); margin-bottom:45px; }.account-dashboard .page-heading h1 { font-size:37px; }.account-dashboard .stat-grid { grid-template-columns:1fr; gap:12px; }.account-dashboard .stat-card { min-height:120px; }body.app-page .account-dashboard .stat-card { padding:20px; }.account-dashboard .stat-card strong { font-size:28px; margin:10px 0 8px; }.account-dashboard .account-welcome { grid-template-columns:1fr; padding:24px; }.account-dashboard .welcome-visual { display:none; }.account-dashboard .account-quick-grid,.account-dashboard .account-settings-grid { grid-template-columns:1fr; gap:16px; }body.app-page .account-dashboard .surface { padding:23px; border-radius:22px; }.account-dashboard .preference-row { flex-direction:column; gap:14px; }.account-dashboard .preference-options { width:100%; }.account-dashboard .pref-choice { flex:1; padding:9px 10px; }.account-dashboard .settings-stack { gap:16px; }.account-dashboard .account-facts > div { flex-direction:column; gap:4px; }.account-dashboard .account-facts dd { text-align:left; }.account-dashboard .settings-key-link { margin:14px 0 0; display:block; }.account-dashboard .inline-form { flex-direction:column; align-items:stretch; }.account-dashboard .model-grid { grid-template-columns:1fr; }.account-dashboard .key-row { flex-wrap:wrap; }.account-dashboard .key-mask { overflow-wrap:anywhere; } }
html[data-motion=reduced] .account-dashboard .account-quick-card:hover { transform:none; }
