:root{
	--background:#ffffff;
	--foreground:#1a1a1a;
	--border:#e6e6e6;
	--muted:#f5f5f5;
	--muted-foreground:#666666;
	--primary:#00007d;
	--primary-foreground:#ffffff;
	--radius:4px;
}

*{box-sizing:border-box}
body{
	margin:0;
	font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;
	background:var(--background);
	color:var(--foreground);
}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1100px;margin:0 auto;padding:16px}

.site-header{border-bottom:1px solid var(--border);background:#fff;position:sticky;top:0;z-index:50}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand img{display:block}

.nav-toggle{
	display:none;
	width:42px;height:38px;
	border:1px solid var(--border);
	border-radius:10px;
	background:#fff;
	cursor:pointer;
	padding:8px 10px;
}
.nav-toggle span{
	display:block;
	height:2px;
	background:#111;
	border-radius:2px;
}
.nav-toggle span + span{margin-top:5px}

.nav{display:flex}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:18px}
.nav-cats{display:flex;align-items:center;gap:18px;overflow:auto;max-width:760px;scrollbar-width:none}
.nav-cats::-webkit-scrollbar{display:none}
.nav-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.nav a{
	color:var(--foreground);
	font-weight:600;
	font-size:13px;
	padding:6px 2px;
	text-decoration:none;
	white-space:nowrap;
}
.nav-search{display:inline-flex;align-items:center;justify-content:center;padding:6px 6px}
.nav-ico{width:18px;height:18px;display:block}
.nav a:hover{text-decoration:underline}
.nav a.is-active{color:var(--primary)}

@media (max-width: 900px){
	.nav-toggle{display:block}
	.nav{
		position:absolute;
		left:0;right:0;
		top:calc(100% + 1px);
		background:#fff;
		border-bottom:1px solid var(--border);
		display:none;
	}
	.site-header.is-open .nav{display:block}
	.nav-inner{
		flex-direction:column;
		align-items:stretch;
		gap:8px;
		padding:12px 16px;
	}
	.nav-cats{max-width:none;flex-wrap:wrap;gap:10px}
	.nav-actions{justify-content:flex-start;gap:14px}
	.nav a{padding:8px 6px}
}

.site-footer{border-top:1px solid var(--border);margin-top:48px;background:#fff}

.card{border:1px solid var(--border);border-radius:var(--radius);padding:16px;background:#fff}
.h1{font-size:24px;margin:0 0 8px 0}
.muted{color:var(--muted-foreground);margin:0}

.ticker-wrap{
	overflow:hidden;
	width:100%;
	white-space:nowrap;
}
.ticker-content{
	display:inline-flex;
	gap:22px;
	width:max-content;
	animation:ticker 40s linear infinite;
	will-change:transform;
}
@keyframes ticker{
	0%{transform:translateX(0)}
	100%{transform:translateX(-50%)}
}

.breaking-bar{
	/* Full-bleed bar, even inside .container */
	width:100vw;
	margin-left:calc(50% - 50vw);
	margin-right:calc(50% - 50vw);
	margin-top:0;
	margin-bottom:16px;
	background:linear-gradient(90deg,#0a2bb3 0%, #1140d1 50%, #0a2bb3 100%);
	color:#fff;
	border-bottom:1px solid rgba(255,255,255,.14);
}
.breaking-inner{
	display:flex;
	align-items:center;
	gap:14px;
	padding-top:8px;
	padding-bottom:8px;
}
.breaking-label{
	display:inline-flex;
	align-items:center;
	gap:8px;
	font-weight:900;
	letter-spacing:.08em;
	font-size:12px;
	text-transform:uppercase;
	padding-right:10px;
	border-right:1px solid rgba(255,255,255,.22);
	flex:0 0 auto;
}
.breaking-ico{width:14px;height:14px;opacity:.95}
.breaking-ticker{min-width:0}
.breaking-item{
	display:inline-flex;
	align-items:center;
	gap:10px;
	color:#fff;
	text-decoration:none;
	font-weight:600;
	font-size:12.5px;
}
.breaking-item:hover{ text-decoration:underline; }
.breaking-time{
	font-weight:800;
	opacity:.95;
}
.breaking-text{
	opacity:.95;
}

@media (max-width: 900px){
	.breaking-inner{gap:10px}
	.breaking-label{font-size:11px}
	.breaking-item{font-size:12px}
}

.prose p{line-height:1.6}
.prose h2,.prose h3{margin-top:16px}
.prose a{color:var(--primary);text-decoration:underline}

.sponsor-strip{
	overflow:hidden;
	border-radius:var(--radius);
	position:relative;
	background:#fff;
	border:1px solid var(--border);
	padding:10px;
}
.sponsor-track{
	display:inline-flex;
	gap:14px;
	align-items:center;
	width:max-content;
	animation:sponsorScroll 40s linear infinite;
	will-change:transform;
}
@keyframes sponsorScroll{
	0%{transform:translateX(0)}
	100%{transform:translateX(-50%)}
}
.sponsor-item{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:8px 10px;
	border:1px solid var(--border);
	border-radius:var(--radius);
	background:#fff;
}
.sponsor-item img{
	max-height:36px;
	max-width:160px;
	display:block;
}

.auth-wrap{min-height:calc(100vh - 120px);display:flex;align-items:center;justify-content:center;padding:24px}
.auth-card{width:100%;max-width:420px}
.form{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.label{font-size:14px}
.input{
	width:100%;
	border:1px solid var(--border);
	border-radius:var(--radius);
	padding:10px 12px;
	font-size:14px;
}
.btn{
	border-radius:var(--radius);
	padding:10px 12px;
	font-weight:600;
	border:1px solid transparent;
	cursor:pointer;
}
.btn-primary{background:var(--primary);color:var(--primary-foreground)}
.btn-outline{background:#fff;border-color:var(--border);color:var(--foreground)}
.alert{padding:10px 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--muted)}
.alert-danger{border-color:#ffb3b3;background:#fff0f0}

.admin-shell{display:flex;min-height:100vh}
.admin-sidebar{width:240px;border-right:1px solid var(--border);padding:16px;background:#fff}
.admin-brand{font-weight:800;margin-bottom:12px}
.admin-nav{display:flex;flex-direction:column;gap:8px}
.admin-main{flex:1;display:flex;flex-direction:column}
.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);background:#fff}
.admin-content{padding:16px}

