/* Codegenify 2026.5 — adaptive brand, spatial product stories, unified pages */
:root { --v5-page:#f7f8fc; --v5-panel:#fff; --v5-ink:#151b2e; --v5-muted:#687189; --v5-line:#e1e5ef; --v5-glow:rgba(111,92,245,.16); --v5-shift-1:0px; --v5-shift-2:0px; --v5-shift-3:0px; --v5-px:0px; --v5-px-neg:0px; --v5-rx:0deg; --v5-ry:0deg; --v5-ry-neg:0deg; }
[data-theme="dark"] { --v5-page:#07111f; --v5-panel:#111b2d; --v5-ink:#f5f7ff; --v5-muted:#a9b2ca; --v5-line:#27344b; --v5-glow:rgba(87,205,211,.13); }

/* Logo contrast follows the selected theme, including the footer. */
.re-brand img,.brand-logo.full,.re-footer__brand img { filter:none!important; transition:filter .25s ease,opacity .25s ease; }
[data-theme="dark"] .re-brand img,[data-theme="dark"] .brand-logo.full,[data-theme="dark"] .re-footer__brand img { filter:brightness(0) invert(1)!important; opacity:.96; }
.re-footer__brand img { width:164px; height:auto; }
.re-header,.nav { color:var(--v5-ink); }
[data-theme="dark"] .re-header,[data-theme="dark"] .nav { background:rgba(10,17,33,.9); }
[data-theme="dark"] .re-nav__links a,[data-theme="dark"] .nav-links a { color:#b7bfd4; }
[data-theme="dark"] .re-nav__links a:hover,[data-theme="dark"] .re-nav__links a[aria-current="page"] { color:#fff; background:rgba(255,255,255,.07); }
.re-footer { background:#0a1020; }
[data-theme="light"] .re-footer { background:#10162b; }

/* Scroll-reactive atmospheric layer */
.re-home { position:relative; isolation:isolate; }
.v5-scroll-scene { position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; perspective:900px; }
.v5-orb,.v5-code-shard { position:absolute; will-change:transform; }
.v5-orb { border-radius:50%; filter:blur(3px); opacity:.55; }
.v5-orb--one { width:520px; height:520px; right:-210px; top:1350px; background:radial-gradient(circle,rgba(111,92,245,.22),transparent 68%); transform:translate3d(0,var(--v5-shift-1),0); }
.v5-orb--two { width:460px; height:460px; left:-220px; top:3100px; background:radial-gradient(circle,rgba(29,187,195,.2),transparent 68%); transform:translate3d(0,var(--v5-shift-2),0); }
.v5-code-shard { padding:12px 15px; border:1px solid rgba(111,92,245,.13); border-radius:12px; background:color-mix(in srgb,var(--v5-panel) 76%,transparent); box-shadow:0 16px 50px rgba(32,40,82,.08); color:color-mix(in srgb,var(--v5-muted) 70%,transparent); font:10px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace; backdrop-filter:blur(10px); }
.v5-code-shard--one { left:5%; top:1180px; transform:translate3d(var(--v5-px),var(--v5-shift-1),30px) rotate(-5deg); }
.v5-code-shard--two { right:3%; top:2670px; transform:translate3d(var(--v5-px-neg),var(--v5-shift-2),60px) rotate(7deg); }
.v5-code-shard--three { left:8%; top:4320px; transform:translate3d(var(--v5-px),var(--v5-shift-3),20px) rotate(-3deg); }

/* Product lab */
.v5-lab { position:relative; z-index:1; padding:118px 0 128px; background:linear-gradient(180deg,var(--v3-surface),color-mix(in srgb,var(--v4-soft-purple) 34%,var(--v3-bg))); overflow:hidden; }
.v5-lab::before { content:""; position:absolute; width:700px; height:700px; right:-290px; top:-320px; border-radius:50%; background:radial-gradient(circle,rgba(88,214,207,.16),transparent 66%); pointer-events:none; }
.v5-lab__head { position:relative; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(340px,.62fr); gap:68px; align-items:end; margin-bottom:60px; }
.v5-lab__head h2 { max-width:760px; margin:22px 0 0; color:var(--v3-ink); font-size:clamp(3rem,5.4vw,6rem); line-height:.94; letter-spacing:-.065em; }
.v5-lab__head p { margin:0; color:var(--v3-muted); font-size:16px; line-height:1.72; }
.v5-lab__tabs { margin-top:24px; display:flex; gap:7px; }
.v5-lab__tabs button { min-height:40px; padding:0 13px; border:1px solid var(--v3-line); border-radius:11px; background:var(--v3-surface); color:var(--v3-muted); font-weight:760; cursor:pointer; transition:.22s ease; }
.v5-lab__tabs button:hover,.v5-lab__tabs button.is-active { border-color:var(--v4-purple); background:var(--v4-purple); color:#fff; box-shadow:0 10px 23px rgba(111,92,245,.2); }
.v5-stage { position:relative; display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.45fr); gap:34px; align-items:end; perspective:1400px; }
.v5-stage::before { content:""; position:absolute; inset:12% 5% 2%; z-index:-1; border-radius:50%; background:radial-gradient(ellipse,rgba(94,81,214,.17),transparent 67%); filter:blur(30px); }
.v5-stage__label { margin-bottom:11px; display:block; color:var(--v3-muted); font-size:10px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.v5-desktop-wrap { min-width:0; transform-style:preserve-3d; }
.v5-desktop { border:8px solid #171c32; border-bottom-width:11px; border-radius:24px; background:#11172a; box-shadow:0 42px 90px rgba(23,29,65,.24),0 0 0 1px rgba(255,255,255,.12) inset; overflow:hidden; transform:rotateX(var(--v5-rx)) rotateY(var(--v5-ry)); transform-style:preserve-3d; transition:transform .2s ease-out; }
.v5-browserbar { height:42px; padding:0 13px; display:grid; grid-template-columns:62px 1fr 54px; align-items:center; gap:10px; border-bottom:1px solid rgba(255,255,255,.08); background:#202741; color:#8e98b8; font-size:9px; }
.v5-browserbar>span { display:flex; gap:5px; }.v5-browserbar i { width:7px; height:7px; border-radius:50%; background:#ff7e8c; }.v5-browserbar i:nth-child(2){background:#ffba59}.v5-browserbar i:nth-child(3){background:#42d6ad}
.v5-browserbar>div { padding:7px 13px; border-radius:8px; background:#151b31; text-align:center; }.v5-browserbar>b { color:#57d7bd; font-size:8px; text-align:right; }
.v5-webapp { min-height:530px; display:grid; grid-template-columns:62px 1fr; background:#f4f6fb; color:#172033; }
.v5-appnav { padding:16px 10px; display:flex; flex-direction:column; align-items:center; gap:10px; background:#171d35; }
.v5-appmark,.v5-appnav button { width:34px; height:34px; display:grid; place-items:center; border:0; border-radius:10px; color:#9099b8; background:rgba(255,255,255,.055); font-size:9px; font-weight:900; cursor:pointer; }.v5-appmark { margin-bottom:12px; background:linear-gradient(135deg,var(--v4-purple),var(--v4-cyan)); color:#fff; font-size:14px; }.v5-appnav button.active,.v5-appnav button:hover { background:linear-gradient(135deg,var(--v4-purple),#4e85ed); color:#fff; }.v5-appnav>span { flex:1; }
.v5-appmain { min-width:0; padding:28px; }.v5-appmain>header { display:flex; align-items:center; justify-content:space-between; gap:20px; }.v5-appmain>header small { color:#7c8498; font-size:8px; font-weight:900; letter-spacing:.15em; }.v5-appmain h3 { margin:7px 0 0; color:#172033; font-size:24px; letter-spacing:-.04em; }
.v5-appmain h3,.v5-appmain b { color:#172033!important; }.v5-appmain small,.v5-appmain span { color:#747d92; }.v5-appmain .v5-live-code b { color:#e8ebf8!important; }.v5-appmain .v5-live-code span { color:#6fe0c3; }
.v5-app-people { display:flex; align-items:center; }.v5-app-people i,.v5-app-people b { width:30px; height:30px; margin-left:-7px; display:grid; place-items:center; border:3px solid #f4f6fb; border-radius:50%; background:#dcd8ff; color:#574bc3; font-size:8px; font-style:normal; }.v5-app-people i:nth-child(2){background:#c8f1ec;color:#177f78}.v5-app-people i:nth-child(3){background:#ffe2de;color:#ae5147}.v5-app-people b{background:#fff;color:#737c91}
.v5-app-kpis { margin:25px 0 18px; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.v5-app-kpis article { min-width:0; padding:16px; display:grid; border:1px solid #e1e5ef; border-radius:14px; background:#fff; box-shadow:0 8px 25px rgba(32,41,76,.045); }.v5-app-kpis span { color:#727b91; font-size:9px; }.v5-app-kpis b { margin:8px 0 4px; font-size:24px; }.v5-app-kpis em { color:#34a786; font-size:8px; font-style:normal; }
.v5-app-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(200px,.75fr); gap:12px; }.v5-pipeline,.v5-live-code { min-width:0; border:1px solid #e1e5ef; border-radius:14px; background:#fff; overflow:hidden; }.v5-pipeline>header,.v5-live-code>header { min-height:47px; padding:0 14px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #edf0f5; font-size:10px; }.v5-pipeline>header span { color:#6758de; }.v5-pipeline-row { min-height:62px; padding:9px 14px; display:grid; grid-template-columns:8px 1fr auto; align-items:center; gap:10px; border-bottom:1px solid #f0f2f6; }.v5-pipeline-row>i { width:7px; height:7px; border-radius:50%; background:#45c9a8; }.v5-pipeline-row>i.purple{background:#7767f4}.v5-pipeline-row>i.coral{background:#ff817c}.v5-pipeline-row>div { display:grid; }.v5-pipeline-row b { font-size:9px; }.v5-pipeline-row small,.v5-pipeline-row>span { color:#8a91a4; font-size:8px; }
.v5-live-code { background:#171d34; border-color:#171d34; color:#e8ebf8; }.v5-live-code>header { border-color:rgba(255,255,255,.08); }.v5-live-code>header span { display:flex; align-items:center; gap:5px; color:#6fe0c3; font-size:8px; }.v5-live-code>header i { width:6px;height:6px;border-radius:50%;background:#42d6ad;box-shadow:0 0 0 4px rgba(66,214,173,.1)}.v5-live-code>div { padding:16px 14px; color:#aeb7d3; font:8px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace; }.v5-live-code p { margin:0 0 8px; }.v5-live-code em { margin-right:7px; color:#656f94; font-style:normal; }.v5-live-code .cursor { color:#6fe0c3; animation:v5Blink 1s steps(1) infinite; }
@keyframes v5Blink{50%{opacity:0}}
.v5-desktop-stand { height:58px; display:grid; justify-items:center; }.v5-desktop-stand::before { content:""; width:105px; height:48px; background:linear-gradient(90deg,#aeb4c6,#e8eaf0 48%,#aab0c2); clip-path:polygon(35% 0,65% 0,76% 100%,24% 100%); }.v5-desktop-stand span { width:190px; height:10px; margin-top:-2px; border-radius:50%; background:#aeb4c2; box-shadow:0 12px 26px rgba(31,37,68,.25); }
.v5-phone-wrap { position:relative; justify-self:center; width:100%; max-width:330px; transform-style:preserve-3d; }.v5-phone { position:relative; width:276px; height:574px; margin:0 auto; padding:9px; border:2px solid #3a4055; border-radius:42px; background:#121725; box-shadow:0 42px 80px rgba(24,28,64,.32),inset 0 0 0 1px rgba(255,255,255,.1); transform:rotateX(var(--v5-rx)) rotateY(var(--v5-ry-neg)) rotateZ(1.5deg); transition:transform .2s ease-out; }
.v5-phone__hardware { position:absolute; z-index:5; left:50%; top:13px; transform:translateX(-50%); width:82px; height:22px; display:grid; place-items:center; border-radius:999px; background:#080b12; }.v5-phone__hardware span { width:7px;height:7px;border-radius:50%;background:#19213a;box-shadow:0 0 0 2px #101626 }
.v5-phone__screen { position:relative; height:100%; padding:15px 13px 56px; border-radius:33px; background:#f8f7fb; color:#171b2c; overflow:hidden; }.v5-mobile-status { padding:0 5px 10px; display:flex; justify-content:space-between; font-size:9px; }.v5-store-head { margin-top:12px; display:flex; align-items:center; justify-content:space-between; }.v5-store-head>div { display:grid; }.v5-store-head small { color:#858b9c; font-size:8px; }.v5-store-head b { margin-top:2px; font-size:15px; }.v5-store-head button { height:32px; padding:0 8px; border:0; border-radius:10px; background:#1d2134; color:#fff; font-size:8px; font-weight:800; }.v5-store-head button span { min-width:15px;height:15px;margin-left:4px;display:inline-grid;place-items:center;border-radius:50%;background:var(--v4-purple); }
.v5-phone__screen,.v5-phone__screen b { color:#171b2c!important; }.v5-phone__screen small,.v5-phone__screen span { color:#7a8193; }.v5-phone__screen button { color:inherit; }.v5-phone__screen .v5-store-head button { color:#fff!important; }.v5-phone__screen .v5-store-cats button.active,.v5-phone__screen .v5-store-products article>button { color:#fff!important; }.v5-phone__screen .v5-store-nav b { color:#6557d8!important; }
.v5-store-search { min-height:37px; margin:15px 0 11px; padding:0 11px; display:flex; align-items:center; justify-content:space-between; border:1px solid #e3e4ea; border-radius:11px; background:#fff; color:#959aaa; font-size:8px; }.v5-store-search span { color:#31364a; font-size:14px; }.v5-store-cats { display:flex; gap:6px; }.v5-store-cats button { height:27px; padding:0 10px; border:1px solid #e1e3e9; border-radius:999px; background:#fff; color:#747a8d; font-size:8px; cursor:pointer; }.v5-store-cats button.active { border-color:#23283b; background:#23283b; color:#fff; }
.v5-store-feature { position:relative; height:130px; margin:12px 0 13px; padding:16px; display:grid; grid-template-columns:1.1fr .9fr; border-radius:17px; background:linear-gradient(135deg,#dcd7ff,#c9f0ed); overflow:hidden; }.v5-store-feature>div { position:relative; z-index:2; display:grid; align-content:center; justify-items:start; }.v5-store-feature small { color:#6658c9; font-size:6px; font-weight:900; letter-spacing:.1em; }.v5-store-feature b { margin:6px 0 10px; font-size:13px; line-height:1.05; }.v5-store-feature button { height:26px; padding:0 9px; border:0; border-radius:8px; background:#22273b; color:#fff; font-size:7px; }
.v5-store-object { position:relative; display:block; }.v5-store-object::before { content:""; position:absolute; width:66px; height:66px; right:1px; top:18px; border-radius:19px 19px 32px 32px; background:linear-gradient(145deg,#8172f4,#5145b8); box-shadow:0 13px 26px rgba(76,60,174,.28); transform:rotate(-12deg); }.v5-store-object::after { content:""; position:absolute; width:38px; height:9px; right:15px; top:14px; border:6px solid #6456d2; border-bottom:0; border-radius:20px 20px 0 0; transform:rotate(-12deg); }
.v5-store-title { display:flex; justify-content:space-between; font-size:9px; }.v5-store-title span { color:#7365d8; }.v5-store-products { margin-top:9px; display:grid; grid-template-columns:1fr 1fr; gap:8px; }.v5-store-products article { position:relative; min-width:0; padding:8px; display:grid; border:1px solid #e5e6ec; border-radius:12px; background:#fff; }.v5-store-products article.is-hidden { display:none; }.v5-product-art { height:66px; margin-bottom:7px; display:block; border-radius:9px; background:#f0eff5; position:relative; overflow:hidden; }.v5-product-art--lamp i { position:absolute; width:32px;height:32px;left:50%;top:11px;transform:translateX(-50%);border-radius:50% 50% 10px 10px;background:linear-gradient(145deg,#ffcd72,#ff8e78);box-shadow:0 7px 13px rgba(255,142,120,.25)}.v5-product-art--lamp::after{content:"";position:absolute;width:3px;height:25px;left:50%;bottom:5px;background:#3b3f50;box-shadow:-13px 20px 0 8px #3b3f50;transform:translateX(-50%)}.v5-product-art--buds i { position:absolute;width:19px;height:29px;top:14px;border-radius:13px 13px 8px 8px;background:linear-gradient(145deg,#7d70ea,#3b5fb3); }.v5-product-art--buds i:first-child{left:24px;transform:rotate(-10deg)}.v5-product-art--buds i:last-child{right:24px;transform:rotate(10deg)}.v5-store-products article>b { font-size:8px; }.v5-store-products article>small { color:#777e91; font-size:8px; }.v5-store-products article>button { position:absolute; right:8px; bottom:8px; width:22px; height:22px; border:0; border-radius:7px; background:#23283b; color:#fff; cursor:pointer; }.v5-store-products article>button.is-added { background:var(--v4-mint); }
.v5-store-nav { position:absolute; left:0; right:0; bottom:0; height:52px; padding:0 17px; display:flex; align-items:center; justify-content:space-between; border-top:1px solid #e5e7ed; background:rgba(255,255,255,.94); color:#9297a8; font-size:7px; backdrop-filter:blur(10px); }.v5-store-nav b { color:#6557d8; }
.v5-phone-note { position:absolute; right:-15px; bottom:72px; padding:11px 13px; display:grid; grid-template-columns:8px 1fr; column-gap:7px; border:1px solid rgba(255,255,255,.7); border-radius:13px; background:rgba(255,255,255,.9); box-shadow:0 15px 35px rgba(29,35,70,.18); color:#182033; backdrop-filter:blur(12px); }.v5-phone-note i { width:8px;height:8px;margin-top:3px;border-radius:50%;background:var(--v4-mint);box-shadow:0 0 0 5px rgba(61,214,174,.13)}.v5-phone-note b { font-size:10px; }.v5-phone-note small { grid-column:2;color:#7d8497;font-size:8px; }

/* Every public inner page uses one coherent spacious layout. */
body>main:not(.re-home):not(.dash):not(.cw-shell):not(.auth-v3-wrap):not(.auth-admin-shell) { background:var(--v3-bg); }
body>main:not(.re-home):not(.dash):not(.cw-shell):not(.auth-v3-wrap):not(.auth-admin-shell)>.section:first-child { position:relative; overflow:hidden; background:linear-gradient(135deg,#24294f,#263d68 56%,#246068); }
body>main:not(.re-home):not(.dash):not(.cw-shell):not(.auth-v3-wrap):not(.auth-admin-shell)>.section:first-child::after { content:""; position:absolute; width:440px; height:440px; right:-160px; top:-180px; border-radius:50%; background:radial-gradient(circle,rgba(100,225,212,.23),transparent 68%); pointer-events:none; }
body>main:not(.re-home):not(.dash):not(.cw-shell):not(.auth-v3-wrap):not(.auth-admin-shell)>.section:first-child>.container { position:relative; z-index:1; }
body>main:not(.re-home):not(.dash):not(.cw-shell):not(.auth-v3-wrap):not(.auth-admin-shell) .h1 { text-wrap:balance; }
body>main:not(.re-home):not(.dash):not(.cw-shell):not(.auth-v3-wrap):not(.auth-admin-shell) .lead { max-width:760px; }
.re-header~main.section,body>main.section:not(.dash):not(.auth-v3-wrap):not(.auth-admin-shell) { position:relative; min-height:62vh; padding:100px 0 118px; background:linear-gradient(180deg,var(--v3-bg),color-mix(in srgb,var(--v4-soft-purple) 22%,var(--v3-bg))); color:var(--v3-ink); overflow:hidden; }
body>main.section:not(.dash):not(.auth-v3-wrap):not(.auth-admin-shell)::before { content:""; position:absolute; width:470px; height:470px; right:-220px; top:-220px; border-radius:50%; background:radial-gradient(circle,rgba(111,92,245,.14),transparent 68%); pointer-events:none; }
body>main.section:not(.dash):not(.auth-v3-wrap):not(.auth-admin-shell)>.container { position:relative; z-index:1; }
body>main.section:not(.dash):not(.auth-v3-wrap):not(.auth-admin-shell)> .container>h2:first-child { max-width:850px; margin:0 0 16px; font-size:clamp(2.7rem,5vw,5rem); line-height:.98; letter-spacing:-.055em; }
body>main.section:not(.dash):not(.auth-v3-wrap):not(.auth-admin-shell) .grid-2,body>main.section:not(.dash):not(.auth-v3-wrap):not(.auth-admin-shell) .grid-3 { gap:18px; margin-top:34px; }
body>main.section:not(.dash):not(.auth-v3-wrap):not(.auth-admin-shell) .card,body>main.section:not(.dash):not(.auth-v3-wrap):not(.auth-admin-shell) .feature { border:1px solid var(--v3-line); border-radius:20px; background:var(--v3-surface); box-shadow:0 16px 45px rgba(34,42,82,.06); }
.academy-page,.internship-page { background:linear-gradient(180deg,var(--v3-bg),color-mix(in srgb,var(--v4-soft-blue) 28%,var(--v3-bg)))!important; color:var(--v3-ink); }
.academy-page input,.academy-page select,.academy-page textarea,.internship-page input,.internship-page select,.internship-page textarea { border-color:var(--v3-line)!important; background:var(--v3-surface)!important; color:var(--v3-ink)!important; }
.academy-page input:focus,.academy-page select:focus,.academy-page textarea:focus,.internship-page input:focus,.internship-page select:focus,.internship-page textarea:focus { border-color:rgba(111,92,245,.6)!important; box-shadow:0 0 0 4px rgba(111,92,245,.11)!important; }
.footer,.re-footer { transition:background .25s ease,color .25s ease; }

@media(max-width:1100px){.v5-lab__head{grid-template-columns:1fr}.v5-stage{grid-template-columns:1fr}.v5-phone-wrap{margin-top:32px}.v5-phone-note{right:0}.v5-webapp{min-height:500px}}
@media(max-width:820px){.v5-lab{padding:86px 0}.v5-appmain{padding:18px}.v5-app-kpis{grid-template-columns:1fr 1fr}.v5-app-kpis article:last-child{display:none}.v5-app-grid{grid-template-columns:1fr}.v5-live-code{display:none}.v5-webapp{min-height:480px}.v5-scroll-scene{display:none}}
@media(max-width:560px){.v5-lab__head{gap:30px;margin-bottom:38px}.v5-lab__head h2{font-size:clamp(2.7rem,13vw,4rem)}.v5-lab__tabs{overflow-x:auto}.v5-desktop{border-width:5px;border-radius:17px}.v5-browserbar{grid-template-columns:45px 1fr;height:36px}.v5-browserbar>b{display:none}.v5-webapp{min-height:390px;grid-template-columns:44px 1fr}.v5-appnav{padding:10px 5px}.v5-appmark,.v5-appnav button{width:30px;height:30px}.v5-appmain{padding:13px}.v5-appmain h3{font-size:16px}.v5-app-people{display:none}.v5-app-kpis{margin:15px 0 10px;gap:7px}.v5-app-kpis article{padding:10px}.v5-app-kpis b{font-size:18px}.v5-app-grid{gap:7px}.v5-pipeline-row{min-height:48px;padding:7px 10px}.v5-pipeline-row:nth-child(4){display:none}.v5-desktop-stand{height:44px}.v5-phone-wrap{max-width:300px}.v5-phone{width:264px}.v5-phone-note{display:none}}
@media(prefers-reduced-motion:reduce){.v5-desktop,.v5-phone{transform:none!important}.v5-live-code .cursor{animation:none}}
