/* Cygnus Rift marketing site (browser MMO style, roomy layout)
   - Low-tech grungy sci-fi aesthetic
   - More breathing room than v1 */

:root{
	--bg:#05070a;
	--panel:rgba(0,0,0,.22);
	--line:rgba(164,255,196,.16);
	--line_soft:rgba(164,255,196,.10);
	--warn_line:rgba(255,205,80,.18);
	--text:rgba(214,255,232,.92);
	--muted:rgba(214,255,232,.62);
	--accent:rgba(164,255,196,.95);
	--warn:rgba(255,205,80,.95);
	--shadow: 0 18px 50px rgba(0,0,0,.55);
	--r:14px;
}

*{ box-sizing:border-box; }
html, body{ height:100%; }
body{
	margin:0;
	color:var(--text);
	background:
		radial-gradient(1000px 520px at 15% 0%, rgba(164,255,196,.10), transparent 62%),
		radial-gradient(900px 650px at 82% 12%, rgba(255,205,80,.08), transparent 60%),
		linear-gradient(180deg, #020305, var(--bg));
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono","Courier New", monospace;
}

.crt{
	position:fixed;
	inset:0;
	pointer-events:none;
	background:
		repeating-linear-gradient(
			to bottom,
			rgba(255,255,255,.04) 0px,
			rgba(255,255,255,.04) 1px,
			rgba(0,0,0,0) 3px,
			rgba(0,0,0,0) 6px
		);
	opacity:.09;
	mix-blend-mode: overlay;
}

a{ color:inherit; }
.wrap{ max-width: 1180px; margin: 0 auto; padding: 18px 14px 44px; }

/* Top bar */
.site_top{
	position:sticky;
	top:0;
	z-index:50;
	backdrop-filter: blur(6px);
	background: linear-gradient(180deg, rgba(0,0,0,.58), rgba(0,0,0,.28));
	border-bottom: 1px solid rgba(164,255,196,.10);
}
.site_top_inner{
	max-width: 1180px;
	margin: 0 auto;
	padding: 10px 14px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:14px;
}
@media (max-width: 980px){
	.site_top{ position:static; }
}

.brand{
	display:flex;
	align-items:baseline;
	gap:10px;
	text-decoration:none;
	white-space:nowrap;
}
.brand_mark{
	color:var(--warn);
	font-size:16px;
}
.brand_name{
	color:var(--accent);
	letter-spacing:.18em;
	text-transform:uppercase;
	font-weight:800;
}
.brand_badge{
	padding:4px 8px;
	border-radius:999px;
	border:1px solid rgba(255,205,80,.22);
	background: rgba(255,205,80,.07);
	color: rgba(255,205,80,.92);
	font-size:11px;
	letter-spacing:.10em;
	text-transform:uppercase;
}

.site_nav{
	display:flex;
	gap:10px;
	flex-wrap:wrap;
}
.nav_item{
	text-decoration:none;
	padding: 8px 10px;
	border-radius: 10px;
	border: 1px solid rgba(164,255,196,.10);
	background: rgba(0,0,0,.16);
	font-size:12px;
	letter-spacing:.10em;
	text-transform:uppercase;
	color: rgba(214,255,232,.76);
}
.nav_item:hover{
	border-color: rgba(164,255,196,.24);
	background: rgba(164,255,196,.05);
	color: var(--accent);
}
.nav_item.is_active{
	border-color: rgba(255,205,80,.26);
	color: rgba(255,235,200,.92);
}

.site_cta{ display:flex; gap:10px; flex-wrap:wrap; }

/* Buttons */
.btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height: 40px;
	padding: 0 16px;
	border-radius: 10px;
	border:1px solid rgba(164,255,196,.18);
	background: linear-gradient(180deg, rgba(164,255,196,.08), rgba(0,0,0,.35));
	color: rgba(214,255,232,.92);
	text-decoration:none;
	cursor:pointer;
	font-size:12px;
	letter-spacing:.12em;
	text-transform:uppercase;
}
.btn:hover{
	border-color: rgba(164,255,196,.32);
	background: linear-gradient(180deg, rgba(164,255,196,.12), rgba(0,0,0,.35));
}
.btn_ghost{
	background: rgba(0,0,0,.18);
}
.btn_ghost:hover{ background: rgba(164,255,196,.05); }

.link{
	color: rgba(164,255,196,.95);
	text-decoration:none;
	font-size:12px;
	letter-spacing:.08em;
	text-transform:uppercase;
}
.link:hover{ text-decoration:underline; }

/* Panels */
.panel{
	position:relative;
	border:1px solid var(--line);
	border-radius: var(--r);
	background: linear-gradient(180deg, rgba(164,255,196,.05), rgba(0,0,0,.22));
	box-shadow: var(--shadow);
	overflow:hidden;
}
.panel:before{
	content:"";
	position:absolute;
	inset:10px;
	border:1px dashed rgba(164,255,196,.10);
	border-radius: 12px;
	pointer-events:none;
	opacity:.8;
}
.panel_pad{ padding: 0; }
.panel_head{
	display:flex;
	justify-content:space-between;
	gap:12px;
	padding: 14px 14px 0 14px;
	position:relative;
	z-index:1;
}
.panel_title{
	font-size:12px;
	letter-spacing:.14em;
	text-transform:uppercase;
	color: rgba(255,205,80,.88);
}
.panel_meta{
	font-size:11px;
	letter-spacing:.10em;
	text-transform:uppercase;
	color: rgba(214,255,232,.55);
	white-space:nowrap;
}
.panel_body{
	padding: 12px 14px 14px 14px;
	position:relative;
	z-index:1;
}
.panel_actions{ margin-top: 12px; }

/* Hero (roomy) */
.hero{ padding: 20px 0 8px; }
.hero_inner{
	display:grid;
	grid-template-columns: 1.1fr .9fr;
	gap:14px;
	align-items:start;
}
@media (max-width: 980px){
	.hero_inner{ grid-template-columns: 1fr; }
}
.kicker{
	color: rgba(214,255,232,.55);
	font-size:11px;
	letter-spacing:.18em;
	text-transform:uppercase;
}
.hero_title{
	margin: 10px 0 0 0;
	font-size: 34px;
	letter-spacing:.22em;
	text-transform:uppercase;
	color: var(--accent);
	text-shadow: 0 0 12px rgba(164,255,196,.12);
}
.hero_text{
	margin-top: 12px;
	color: rgba(214,255,232,.78);
	font-size: 13px;
	line-height:1.65;
	max-width: 72ch;
}
.hero_actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top: 16px; }

.stat_row{
	margin-top: 14px;
	display:flex;
	gap:10px;
	flex-wrap:wrap;
}

.chip{
	padding:7px 10px;
	border-radius:999px;
	border:1px solid rgba(164,255,196,.14);
	background: rgba(0,0,0,.16);
	font-size:11px;
	letter-spacing:.12em;
	text-transform:uppercase;
	color: rgba(214,255,232,.70);
}
.chip_warn{
	border-color: rgba(255,205,80,.20);
	background: rgba(255,205,80,.06);
	color: rgba(255,205,80,.90);
}

/* Sections */
.section{ margin-top: 30px; }
.section_head{
	display:flex;
	justify-content:space-between;
	align-items:baseline;
	gap:14px;
	flex-wrap:wrap;
	margin-bottom: 12px;
}
.section_title{
	margin:0;
	font-size: 14px;
	letter-spacing:.14em;
	text-transform:uppercase;
	color: rgba(214,255,232,.90);
}
.section_sub{
	color: rgba(214,255,232,.58);
	font-size:12px;
	letter-spacing:.06em;
	text-transform:uppercase;
	line-height:1.4;
}
.section_actions{ margin-top: 14px; }

/* News cards (like MMO front pages) */
.news_grid{
	display:grid;
	grid-template-columns: repeat(3, 1fr);
	gap:14px;
}
@media (max-width: 980px){
	.news_grid{ grid-template-columns: 1fr; }
}
.news_card{
	display:block;
	text-decoration:none;
	border:1px solid rgba(164,255,196,.12);
	border-radius: var(--r);
	background: rgba(0,0,0,.16);
	padding: 14px;
	box-shadow: 0 12px 30px rgba(0,0,0,.40);
}
.news_card:hover{
	background: rgba(164,255,196,.05);
	border-color: rgba(164,255,196,.22);
}
.news_date{
	color: rgba(214,255,232,.55);
	font-size:11px;
	letter-spacing:.10em;
	text-transform:uppercase;
}
.news_title{
	margin-top: 10px;
	font-size:12px;
	letter-spacing:.10em;
	text-transform:uppercase;
	color: rgba(214,255,232,.92);
	line-height:1.35;
}
.news_excerpt{
	margin-top: 10px;
	color: rgba(214,255,232,.70);
	font-size:12px;
	line-height:1.55;
}
.news_go{
	margin-top: 12px;
	color: rgba(164,255,196,.92);
	font-size:12px;
	letter-spacing:.10em;
	text-transform:uppercase;
}

/* Media */
.media_grid{
	display:grid;
	grid-template-columns: repeat(3, 1fr);
	gap:14px;
}
@media (max-width: 980px){
	.media_grid{ grid-template-columns: 1fr; }
}
.shot{ margin:0; }
.shot_frame{
	border:1px solid rgba(164,255,196,.14);
	border-radius: var(--r);
	background: rgba(0,0,0,.16);
	overflow:hidden;
	box-shadow: 0 12px 30px rgba(0,0,0,.40);
}
.shot_frame img{
	display:block;
	width:100%;
	height: 190px;
	object-fit: cover;
	filter: saturate(.95) contrast(1.05);
}
.shot figcaption{
	margin-top: 10px;
	color: rgba(214,255,232,.62);
	font-size:12px;
	letter-spacing:.08em;
	text-transform:uppercase;
}

/* Two col panels */
.two_col{
	display:grid;
	grid-template-columns: 1fr 1fr;
	gap:14px;
}
@media (max-width: 980px){
	.two_col{ grid-template-columns: 1fr; }
}
.p{
	margin:0;
	color: rgba(214,255,232,.72);
	font-size:12px;
	line-height:1.65;
}
.bullets{
	margin: 0;
	padding-left: 18px;
	color: rgba(214,255,232,.72);
	font-size:12px;
	line-height:1.65;
}

/* Devlog list */
.list{
	border:1px solid rgba(164,255,196,.12);
	border-radius: var(--r);
	overflow:hidden;
	background: rgba(0,0,0,.16);
}
.list_item{
	display:flex;
	justify-content:space-between;
	gap:14px;
	padding: 14px;
	text-decoration:none;
	border-bottom:1px solid rgba(164,255,196,.08);
}
.list_item:last-child{ border-bottom:none; }
.list_item:hover{ background: rgba(164,255,196,.05); }
.list_left{ min-width:0; }
.list_title{
	font-size:12px;
	letter-spacing:.10em;
	text-transform:uppercase;
	color: rgba(214,255,232,.92);
}
.list_excerpt{
	margin-top: 10px;
	color: rgba(214,255,232,.68);
	font-size:12px;
	line-height:1.55;
}
.list_right{
	text-align:right;
	white-space:nowrap;
}
.list_date{
	font-size:11px;
	letter-spacing:.10em;
	text-transform:uppercase;
	color: rgba(214,255,232,.55);
}
.list_go{
	margin-top: 12px;
	font-size:12px;
	letter-spacing:.10em;
	text-transform:uppercase;
	color: rgba(164,255,196,.92);
}

/* Tags */
.tag_row{ margin-top: 10px; display:flex; gap:8px; flex-wrap:wrap; }
.tag{
	padding:5px 8px;
	border-radius:999px;
	border:1px solid rgba(164,255,196,.14);
	background: rgba(0,0,0,.16);
	color: rgba(214,255,232,.70);
	font-size:11px;
	letter-spacing:.10em;
	text-transform:uppercase;
}

/* Page head */
.page_head{ padding: 18px 0 6px; }
.page_title{
	margin: 10px 0 0 0;
	font-size: 22px;
	letter-spacing:.16em;
	text-transform:uppercase;
	color: rgba(214,255,232,.92);
}
.page_text{
	margin-top: 12px;
	color: rgba(214,255,232,.75);
	font-size: 13px;
	line-height:1.65;
	max-width: 78ch;
}

/* Post body */
.post_body{
	color: rgba(214,255,232,.78);
	font-size: 13px;
	line-height:1.75;
}
.post_body h3{
	margin-top: 18px;
	font-size: 13px;
	letter-spacing:.10em;
	text-transform:uppercase;
	color: rgba(255,205,80,.88);
}
.post_body ul{
	margin-top: 10px;
	padding-left: 18px;
}
.post_body a{ color: rgba(164,255,196,.95); }

/* Newsletter */
.label{
	display:block;
	font-size:11px;
	letter-spacing:.12em;
	text-transform:uppercase;
	color: rgba(214,255,232,.55);
	margin-bottom: 8px;
}
.newsletter_row{
	display:flex;
	gap:10px;
	align-items:center;
	flex-wrap:wrap;
}
.input{
	flex: 1 1 260px;
	padding: 10px 10px;
	border-radius: 10px;
	border:1px solid rgba(164,255,196,.18);
	background: rgba(0,0,0,.35);
	color: var(--text);
	font-size:12px;
	outline:none;
}
.input:focus{
	border-color: rgba(164,255,196,.30);
	box-shadow: 0 0 0 2px rgba(164,255,196,.08);
}
.note{
	margin-top: 10px;
	color: rgba(214,255,232,.55);
	font-size:11px;
	letter-spacing:.06em;
	text-transform:uppercase;
	line-height:1.45;
}

/* Community */
.community_row{
	display:flex;
	gap:10px;
	flex-wrap:wrap;
}
.social{
	padding: 9px 12px;
	border-radius: 999px;
	border:1px solid rgba(164,255,196,.14);
	background: rgba(0,0,0,.16);
	text-decoration:none;
	font-size:11px;
	letter-spacing:.10em;
	text-transform:uppercase;
	color: rgba(214,255,232,.75);
}
.social:hover{
	border-color: rgba(164,255,196,.28);
	color: var(--accent);
	background: rgba(164,255,196,.05);
}

/* Footer */
.site_footer{
	margin-top: 34px;
	padding: 16px 0 0;
	border-top:1px solid rgba(164,255,196,.10);
}
.site_footer_inner{
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 14px 18px;
	display:flex;
	justify-content:space-between;
	gap:14px;
	flex-wrap:wrap;
}
.footer_title{
	letter-spacing:.14em;
	text-transform:uppercase;
	color: rgba(214,255,232,.90);
	font-size:12px;
}
.footer_sub{
	margin-top:10px;
	color: rgba(214,255,232,.55);
	font-size:11px;
	letter-spacing:.06em;
	text-transform:uppercase;
}
.footer_links{
	display:flex;
	gap:10px;
	flex-wrap:wrap;
}
.footer_links a{
	text-decoration:none;
	padding: 8px 10px;
	border-radius: 999px;
	border:1px solid rgba(164,255,196,.12);
	background: rgba(0,0,0,.16);
	font-size:11px;
	letter-spacing:.10em;
	text-transform:uppercase;
	color: rgba(214,255,232,.70);
}
.footer_links a:hover{
	border-color: rgba(164,255,196,.26);
	color: var(--accent);
	background: rgba(164,255,196,.05);
}
