/* V23 public experience: shared styles for portfolio pages, Snake Farm, and terminal */
:root{--xbg:#030307;--xpanel:#0b0810;--xpanel2:#110c17;--xline:#30243a;--xmuted:#948a9b;--xtext:#f6f1fb;--xp:#bd6cff;--xb:#64aaff;--xg:#69e0b3;--xgold:#e4bd68}
.experience-page{background:#030307}.page-shell{width:min(1180px,calc(100% - 48px));margin:auto}.header nav a.nav-active{color:#fff;text-shadow:0 0 15px #a550ff}
.page-hero{min-height:560px;padding:140px 0 78px;display:flex;align-items:flex-end;position:relative;overflow:hidden;background:linear-gradient(90deg,#030307 3%,rgba(3,3,7,.9) 44%,rgba(3,3,7,.38)),linear-gradient(0deg,#030307,transparent 48%),url("assets/contact-four-horsemen.webp") center/cover no-repeat}
.page-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 40%,rgba(165,68,255,.22),transparent 30%),radial-gradient(circle at 48% 72%,rgba(41,118,255,.09),transparent 25%);pointer-events:none}.page-hero .page-shell{position:relative;z-index:1}
.page-hero h1{margin:0;max-width:900px;font:900 clamp(46px,7vw,90px)/.9 Orbitron;letter-spacing:-4px;text-transform:uppercase}.page-hero h1 span{color:var(--xp);text-shadow:0 0 38px rgba(189,108,255,.4)}.page-lead{max-width:760px;color:#b2a9b9;font-size:21px;line-height:1.5;margin:24px 0 0}.back-link{display:inline-flex;margin-bottom:22px;color:#94899b;text-decoration:none;font:700 9px Orbitron;letter-spacing:1px}.back-link:hover{color:#fff}
.content-section{padding:100px 0;background:linear-gradient(180deg,#030307,#08040d)}.content-section.alt{background:linear-gradient(180deg,#08040d,#030307)}
.section-head{display:grid;grid-template-columns:1fr .85fr;gap:58px;align-items:end;margin-bottom:42px}.section-head h2{margin:0;font:800 clamp(38px,5vw,66px)/.97 Orbitron;letter-spacing:-2.5px}.section-head h2 span{color:var(--xp)}.section-head>p{margin:0;color:var(--xmuted);font-size:18px;line-height:1.55}
.x-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.x-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.x-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.x-card{position:relative;overflow:hidden;min-height:250px;padding:27px;border:1px solid var(--xline);border-radius:8px;background:linear-gradient(145deg,rgba(151,65,235,.07),rgba(4,4,8,.86));transition:.24s}.x-card:hover{transform:translateY(-4px);border-color:#6d4184;box-shadow:0 22px 58px rgba(0,0,0,.32)}.x-card .eyebrow,.x-eyebrow{color:var(--xp);font:700 9px Orbitron;letter-spacing:1.4px;text-transform:uppercase}.x-card h3{margin:17px 0 10px;font:800 20px Orbitron}.x-card p{margin:0;color:#908795;font-size:16px;line-height:1.5}.card-link{position:absolute;left:27px;bottom:24px;color:#eee7f2;text-decoration:none;font:700 9px Orbitron;letter-spacing:.8px}.card-link span{color:var(--xp)}
.x-badge{display:inline-flex;padding:5px 8px;border:1px solid #3a2b43;border-radius:99px;background:#08060b;color:#aaa0b0;font:700 8px Orbitron;letter-spacing:.6px}.x-badge.live{color:#91ebc9;border-color:#285f4e}.x-badge.building{color:#d5a7ff;border-color:#69408a}.x-badge.roadmap{color:#9fcaff;border-color:#375475}
.x-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.x-button{display:inline-flex;align-items:center;justify-content:center;padding:11px 14px;border:1px solid #423249;border-radius:5px;background:#0d0a12;color:#eee7f3;text-decoration:none;font:700 9px Orbitron;letter-spacing:.7px;cursor:pointer}.x-button:hover{border-color:#9651ce;background:rgba(151,72,226,.12)}.x-button.primary{border-color:#cb91ff;background:linear-gradient(100deg,#7433cf,#ad50f4);color:#fff;box-shadow:0 0 28px rgba(156,64,255,.25)}
.x-callout{padding:20px;border:1px solid #483250;border-radius:8px;background:rgba(166,75,255,.07);color:#b7adbd;font-size:16px;line-height:1.55}.feature-list{display:flex;flex-wrap:wrap;gap:7px;padding:0;margin:20px 0 0;list-style:none}.feature-list li{padding:7px 9px;border:1px solid #302538;background:#08060b;color:#968c9d;font-size:12px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:18px}.kpi{padding:14px;border:1px solid #302538;background:#08060b}.kpi span{display:block;color:#756b7b;font:700 8px Orbitron}.kpi b{display:block;margin-top:7px;font:800 20px Orbitron}

/* Homepage: one compact doorway instead of an overhaul */
.frontier-strip{padding:78px 6vw;background:linear-gradient(180deg,#07040b,#030307);border-top:1px solid rgba(150,80,205,.13);border-bottom:1px solid rgba(150,80,205,.13)}.frontier-inner{width:min(1180px,100%);margin:auto}.frontier-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:24px}.frontier-head h2{margin:0;font:800 clamp(30px,4vw,50px)/1 Orbitron;letter-spacing:-2px}.frontier-head h2 span{color:var(--xp)}.frontier-head p{max-width:520px;margin:0;color:#8c8392;font-size:16px}.frontier-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.frontier-link{padding:19px;border:1px solid #2c2133;background:#09070c;color:#eee6f2;text-decoration:none;transition:.2s}.frontier-link:hover{transform:translateY(-3px);border-color:#754491}.frontier-link small{display:block;color:#776d7d;font:700 8px Orbitron}.frontier-link b{display:block;margin-top:10px;font:700 12px Orbitron}.frontier-link span{display:block;margin-top:7px;color:#8e8495;font-size:13px}

/* Builder */
.builder-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:20px;align-items:start}.builder-panel{padding:26px;border:1px solid #31243a;border-radius:8px;background:linear-gradient(145deg,#0d0911,#07050a)}.builder-summary{position:sticky;top:96px}.builder-step{padding-bottom:26px;margin-bottom:26px;border-bottom:1px solid #2c2233}.builder-step:last-child{border:0;margin:0;padding:0}.step-label{color:var(--xp);font:700 9px Orbitron;letter-spacing:1.1px}.builder-step h2{margin:12px 0 6px;font:800 23px Orbitron}.builder-step>p{color:#82798a;margin:0 0 16px}
.project-options,.feature-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.project-option,.feature-option,.platform-option{padding:14px;border:1px solid #35283d;border-radius:6px;background:#09070c;color:#ddd4e2;text-align:left;cursor:pointer;transition:.2s}.project-option:hover,.platform-option:hover{border-color:#74438e}.project-option.active,.platform-option.active{border-color:#b86cff;background:rgba(151,65,235,.13)}.project-option b{display:block;font:700 10px Orbitron}.project-option small,.feature-option small{display:block;color:#817789;margin-top:5px}.feature-option{display:flex;gap:9px;align-items:flex-start}.feature-option input{accent-color:#b55ff4;margin-top:3px}.builder-fields{display:grid;grid-template-columns:1fr 1fr;gap:11px}.builder-fields .full{grid-column:1/-1}.builder-fields label{color:#918696;font:700 9px Orbitron}.builder-fields input,.builder-fields select,.builder-fields textarea{width:100%;margin-top:7px;padding:11px;border:1px solid #34283b;border-radius:5px;background:#08060b;color:#eee;outline:0;font:500 15px Rajdhani}.builder-fields :is(input,select,textarea):focus{border-color:#9b52df}.summary-price{margin:18px 0 4px;font:800 38px Orbitron;letter-spacing:-2px}.summary-price small{font:600 11px Rajdhani;color:#7f7586;letter-spacing:0}.summary-note{color:#786f7f;font-size:12px;line-height:1.45}.summary-list{padding:0;margin:18px 0;list-style:none}.summary-list li{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-top:1px solid #292031;color:#aaa0af;font-size:13px}.summary-list li b{color:#eee;text-align:right}.meter{height:7px;background:#1b1420;border-radius:99px;overflow:hidden}.meter i{display:block;height:100%;width:32%;background:linear-gradient(90deg,#7b42c6,#c56dff);transition:.2s}

/* Labs + games + devlogs + timeline */
.filter-bar{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:22px}.filter-btn,.play-tab{padding:8px 11px;border:1px solid #34283b;border-radius:99px;background:#08060b;color:#8e8495;cursor:pointer;font:700 8px Orbitron;letter-spacing:.6px}.filter-btn.active,.play-tab.active,.filter-btn:hover,.play-tab:hover{border-color:#a85ce5;color:#fff;background:rgba(160,70,235,.12)}.lab-card[hidden]{display:none}
.game-feature{display:grid;grid-template-columns:.85fr 1.15fr;border:1px solid #392743;border-radius:9px;overflow:hidden;background:#09070d}.game-art{min-height:470px;position:relative;background:linear-gradient(0deg,rgba(4,3,7,.72),rgba(4,3,7,.18)),radial-gradient(circle at 50% 45%,rgba(116,214,134,.16),transparent 30%),url("assets/growth-horseman.webp") center/cover}.game-art:after{content:"SNAKE FARM";position:absolute;left:24px;bottom:22px;font:900 clamp(30px,5vw,56px)/.9 Orbitron;color:rgba(255,255,255,.84)}.game-copy{padding:40px}.game-copy h2{margin:16px 0;font:800 clamp(34px,5vw,56px)/1 Orbitron}.game-copy>p{color:#a198a8;font-size:18px;line-height:1.55}
.devlog{border:1px solid #30243a;border-radius:8px;background:#09070d;overflow:hidden;margin-bottom:12px}.devlog summary{list-style:none;display:grid;grid-template-columns:140px 1fr auto;gap:20px;align-items:center;padding:22px;cursor:pointer}.devlog summary::-webkit-details-marker{display:none}.devlog time{color:#756c7b;font:700 9px Orbitron}.devlog h3{margin:0;font:800 17px Orbitron}.devlog-body{padding:0 22px 22px 182px;color:#968c9d;font-size:16px;line-height:1.6}
.timeline{position:relative}.timeline:before{content:"";position:absolute;left:125px;top:0;bottom:0;width:1px;background:linear-gradient(#73419a,#292031)}.timeline-item{display:grid;grid-template-columns:105px 1fr;gap:44px;padding-bottom:55px}.timeline-date{text-align:right;padding-top:5px;color:#b56af0;font:700 9px Orbitron}.timeline-copy{position:relative;padding-left:23px}.timeline-copy:before{content:"";position:absolute;left:-22px;top:6px;width:9px;height:9px;border-radius:50%;background:#bb66ff;box-shadow:0 0 18px #a74de6}.timeline-copy h3{margin:0 0 10px;font:800 21px Orbitron}.timeline-copy p{margin:0;color:#8e8495;line-height:1.55}

/* Playground */
.playground-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:22px}.command-chips{display:flex;gap:7px;flex-wrap:wrap;margin:11px 0 6px}.command-chips .x-button{padding:8px 11px;background:#0b0910;border-color:#3d3145;color:#cfc6d4}.command-chips .x-button:hover{border-color:#a85ce5;color:#fff;background:rgba(160,70,235,.12)}.play-panel[hidden]{display:none}.discord-demo{display:grid;grid-template-columns:215px 1fr;min-height:500px;border:1px solid #33343a;border-radius:9px;overflow:hidden;background:#313338}.discord-channels{padding:14px;background:#2b2d31}.discord-channels b{display:block;margin-bottom:12px}.discord-channel{display:block;width:100%;padding:8px;border:0;border-radius:5px;background:transparent;color:#aeb1b8;text-align:left}.discord-channel.active{background:#404249;color:#fff}.discord-chat{display:flex;flex-direction:column}.discord-top{padding:13px 16px;border-bottom:1px solid #232428}.discord-messages{padding:17px;overflow:auto;flex:1;max-height:390px}.discord-message{display:flex;gap:9px;margin-bottom:15px}.discord-avatar{width:35px;height:35px;flex:0 0 35px;border-radius:50%;display:grid;place-items:center;background:#6f58d6;color:#fff;font-size:9px;font-weight:800}.discord-message.bot .discord-avatar{background:#ad5ee6}.discord-message p{margin:4px 0;color:#dbdee1;font-size:14px}.discord-message small{color:#949ba4;margin-left:6px}.bot-tag{margin-left:5px;padding:2px 4px;border-radius:3px;background:#5865f2;color:#fff;font-size:8px}.discord-compose{display:flex;gap:7px;padding:12px 16px}.discord-compose input{flex:1;min-width:0;padding:10px;border:0;border-radius:7px;background:#383a40;color:#fff}
.server-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:15px}.server-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.server-summary{padding:22px;border:1px solid #33263c;border-radius:8px;background:#08060b}
.before-after{position:relative;height:450px;overflow:hidden;border:1px solid #35283d;border-radius:9px}.before-site,.after-site{position:absolute;inset:0;padding:28px}.before-site{background:#efe9dc;color:#111;font-family:Georgia,serif}.before-site h3{font-size:38px;color:#751818}.after-site{clip-path:inset(0 0 0 50%);background:radial-gradient(circle at 75% 20%,rgba(178,73,255,.28),transparent 28%),#09070d;color:#fff}.after-site h3{font:800 40px Orbitron;color:#cb83ff}.compare-range{width:100%;accent-color:#b85cff;margin-top:14px}
.portal-demo{display:grid;grid-template-columns:210px 1fr;min-height:470px;border:1px solid #33263d;border-radius:9px;overflow:hidden;background:#09070d}.portal-side{padding:16px;background:#0e0a13;border-right:1px solid #33263d}.portal-side button{display:block;width:100%;padding:9px;border:0;border-radius:5px;background:transparent;color:#8f8596;text-align:left}.portal-side button.active{background:#19121f;color:#fff}.portal-main{padding:23px}.progress{height:9px;background:#211729;border-radius:99px;overflow:hidden}.progress i{display:block;height:100%;width:68%;background:linear-gradient(90deg,#7e3ec8,#c16eff)}.maintenance{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.maintenance .kpi{min-height:110px}
.demo-frame-wrap{overflow:hidden;border:1px solid #3d3145;border-radius:9px;background:#07050a;box-shadow:0 35px 90px rgba(0,0,0,.45)}.demo-frame-bar{display:flex;justify-content:space-between;gap:10px;padding:11px 14px;border-bottom:1px solid #30263a;background:#0e0a13;color:#807687;font-size:12px}.demo-frame{display:block;width:100%;height:730px;border:0;background:#1e1f22}

/* Optional public terminal */
.terminal-launch{position:fixed;right:20px;bottom:20px;z-index:890;width:48px;height:48px;border:1px solid #7c459a;border-radius:11px;background:rgba(10,7,14,.92);color:#d28aff;box-shadow:0 0 28px rgba(162,68,234,.22);font:800 12px Orbitron;cursor:pointer}.terminal-launch:hover{transform:translateY(-3px);color:#fff;border-color:#c77dff}.terminal-overlay{position:fixed;inset:0;z-index:1200;display:none;align-items:flex-end;justify-content:center;padding:22px;background:rgba(0,0,0,.5);backdrop-filter:blur(4px)}.terminal-overlay.open{display:flex}.terminal-window{width:min(900px,100%);max-height:78vh;display:flex;flex-direction:column;overflow:hidden;border:1px solid #56306b;border-radius:10px;background:rgba(4,4,8,.98);box-shadow:0 35px 120px rgba(0,0,0,.7)}.terminal-head{display:flex;justify-content:space-between;align-items:center;padding:10px 13px;border-bottom:1px solid #2d2035;background:#0c0910}.terminal-title{color:#766c7c;font:700 8px Orbitron;letter-spacing:1px}.terminal-close{border:0;background:none;color:#9b90a2;font-size:20px;cursor:pointer}.terminal-output{min-height:300px;padding:17px;overflow:auto;color:#c7bfc9;font:500 13px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.term-line{white-space:pre-wrap}.term-line.accent{color:#cf82ff}.term-line.good{color:#7ce9ba}.term-line.error{color:#ff8aa0}.term-line.dim{color:#736a78}.terminal-input-row{display:flex;gap:8px;padding:12px 15px;border-top:1px solid #2a2031;background:#09070c;font:500 13px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.term-prompt{color:#b65fff;white-space:nowrap}.terminal-input{flex:1;min-width:0;border:0;background:transparent;color:#eee;outline:0;font:inherit}
.footer-links{display:flex;gap:15px;flex-wrap:wrap}.footer-links a{color:#716978;text-decoration:none;font:700 8px Orbitron;letter-spacing:.7px}.footer-links a:hover{color:#fff}
@media(max-width:1050px){.x-grid.four,.frontier-grid,.maintenance{grid-template-columns:repeat(2,1fr)}.builder-layout,.server-layout{grid-template-columns:1fr}.builder-summary{position:static}.game-feature{grid-template-columns:1fr}.game-art{min-height:360px}}
@media(max-width:900px){.section-head{grid-template-columns:1fr;gap:17px}.x-grid,.x-grid.two{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.page-shell{width:calc(100% - 40px)}.page-hero{min-height:520px;padding:118px 0 60px}.page-hero h1{font-size:40px;letter-spacing:-2px}.page-lead{font-size:18px}.content-section{padding:76px 0}.x-grid,.x-grid.two,.x-grid.four,.frontier-grid{grid-template-columns:1fr}.frontier-strip{padding:62px 20px}.frontier-head{flex-direction:column;align-items:flex-start}.project-options,.feature-options,.builder-fields{grid-template-columns:1fr}.builder-fields .full{grid-column:auto}.devlog summary{grid-template-columns:1fr auto;gap:7px}.devlog summary time{grid-column:1/-1}.devlog-body{padding:0 20px 20px}.timeline:before{left:7px}.timeline-item{grid-template-columns:1fr;gap:7px;padding-left:28px}.timeline-date{text-align:left}.timeline-copy{padding-left:0}.timeline-copy:before{left:-25px}.discord-demo,.portal-demo{grid-template-columns:1fr}.discord-channels,.portal-side{display:flex;gap:4px;overflow:auto;border-right:0;border-bottom:1px solid #33343a}.discord-channels b{display:none}.discord-channel,.portal-side button{width:auto;white-space:nowrap}.before-after{height:390px}.demo-frame{height:650px}.terminal-overlay{padding:0}.terminal-window{max-height:86vh;border-radius:10px 10px 0 0}.terminal-launch{right:14px;bottom:14px}.kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:430px){.page-shell{width:calc(100% - 32px)}.page-hero h1{font-size:35px}.maintenance,.kpis{grid-template-columns:1fr}.x-card{padding:22px}.card-link{left:22px}.demo-frame{height:600px}}

/* Snake Farm series */
.snake-page{--snake:#a8d96d;--snake2:#e1b96b}
.snake-hero{background:linear-gradient(90deg,#030307 3%,rgba(3,3,7,.94) 43%,rgba(3,3,7,.25)),linear-gradient(0deg,#030307,transparent 48%),url("assets/snake-farm-shop-concept.png") center/cover no-repeat}
.snake-hero:after{background:radial-gradient(circle at 70% 38%,rgba(168,217,109,.14),transparent 30%),radial-gradient(circle at 40% 72%,rgba(189,108,255,.12),transparent 28%)}
.snake-hero h1 span,.snake-page .section-head h2 span,.snake-page .snake-cta h2 span{color:var(--snake);text-shadow:0 0 35px rgba(168,217,109,.22)}
.snake-game-feature{border-color:#39472c}.snake-game-art{background:linear-gradient(0deg,rgba(4,3,7,.72),rgba(4,3,7,.10)),url("assets/snake-farm-shop-concept.png") center/cover}.snake-game-art:after{color:#e9f2dd;text-shadow:0 4px 25px rgba(0,0,0,.8)}
.snake-overview{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;align-items:stretch}.snake-copy-panel,.snake-mascot-panel{border:1px solid #36402e;border-radius:9px;background:linear-gradient(145deg,rgba(112,145,72,.08),#08070b);padding:30px}.snake-copy-panel h3{margin:16px 0 12px;font:800 clamp(28px,4vw,46px)/1 Orbitron}.snake-copy-panel p{color:#9d969f;font-size:17px;line-height:1.6}.snake-mascot-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(168,217,109,.14),transparent 45%),#08070b}.snake-mascot-panel img{width:min(100%,450px);display:block;mix-blend-mode:screen}.snake-mascot-panel span{margin-top:10px;color:#a8d96d;font:700 9px Orbitron;letter-spacing:1.2px}
.snake-values{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.snake-gallery{display:grid;grid-template-columns:1.35fr .65fr;gap:12px}.snake-gallery figure{margin:0;overflow:hidden;border:1px solid #39402f;border-radius:9px;background:#08070b;display:flex;flex-direction:column}.snake-gallery-wide{grid-row:span 2}.snake-gallery img{display:block;width:100%;height:100%;min-height:250px;object-fit:cover}.snake-gallery-wide img{min-height:560px}.snake-gallery figcaption{padding:12px 14px;color:#8f898f;font-size:13px;border-top:1px solid #2f3529;background:#08070b}.series-roadmap{display:grid;gap:12px}.series-step{display:grid;grid-template-columns:90px 1fr;gap:22px;padding:28px;border:1px solid #30283a;border-radius:9px;background:linear-gradient(145deg,#0b0910,#07060a)}.series-step.current{border-color:#4a6234}.series-step.next{border-color:#5a3d68}.series-num{display:grid;place-items:center;width:70px;height:70px;border:1px solid #4d4055;border-radius:50%;font:800 18px Orbitron;color:#a8d96d;background:#09070c}.series-step h3{margin:12px 0 8px;font:800 24px Orbitron}.series-step p{margin:0;color:#958c99;font-size:16px;line-height:1.6}.snake-cta{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:30px;border:1px solid #3c4931;border-radius:9px;background:radial-gradient(circle at 10% 30%,rgba(168,217,109,.12),transparent 34%),#09070d}.snake-cta h2{margin:8px 0 10px;font:800 clamp(30px,4vw,48px)/1 Orbitron}.snake-cta p{max-width:720px;color:#948b99;line-height:1.6}
@media(max-width:900px){.snake-overview,.snake-values,.snake-gallery{grid-template-columns:1fr}.snake-gallery-wide{grid-row:auto}.snake-gallery-wide img{min-height:360px}.snake-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.series-step{grid-template-columns:1fr}.series-num{width:54px;height:54px}.snake-copy-panel,.snake-mascot-panel{padding:22px}}

.x-grid.three{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}

@media(max-width:900px){.snake-system-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.snake-system-grid{grid-template-columns:1fr}}
