/* === Status indicator light (navbar) === */
.status-light {
	width:8px;
	height:8px;
	background:var(--ph-green);
	border-radius:50%;
	display:inline-block;
	margin-left:10px;
	box-shadow:0 0 6px var(--ph-green),0 0 12px var(--ph-green);
	animation:blink-light 2s ease-in-out infinite;
}
@keyframes blink-light {
	0%,100% {
	opacity:1;
	box-shadow:0 0 6px var(--ph-green),0 0 12px var(--ph-green);
}
50% {
	opacity:0.3;
	box-shadow:0 0 2px var(--ph-green);
}
}/* === Typing cursor for subtitle === */
        .typing-cursor {
	display:inline-block;
	width:2px;
	height:1em;
	background:var(--ph-amber);
	margin-left:2px;
	animation:cursor-blink 1s step-end infinite;
	vertical-align:text-bottom;
}
@keyframes cursor-blink {
	0%,100% {
	opacity:1;
}
50% {
	opacity:0;
}
}/* === Sidebar telemetry data items === */
        .sidebar-data-item {
	padding:10px 0;
	border-bottom:1px solid var(--ph-surface-3);
}
.sidebar-data-item:last-child {
	border-bottom:none;
}
.sidebar-data-label {
	font-size:0.7rem;
	text-transform:uppercase;
	color:var(--ph-amber);
	letter-spacing:2px;
	margin-bottom:2px;
}
.sidebar-data-value {
	font-size:0.9rem;
	color:var(--ph-green);
	font-weight:700;
}
/* === CPU bar (not provided by ph-progressbar since we need dynamic color) === */
        .cpu-bar-track {
	width:100%;
	height:6px;
	background:var(--ph-surface-3);
	margin-top:4px;
}
.cpu-bar-fill {
	height:100%;
	background:var(--ph-green);
	transition:width 0.8s ease,background 0.3s,box-shadow 0.3s;
	box-shadow:0 0 4px var(--ph-green);
}
/* === Sector decorator tags === */
        .sector-tag {
	display:inline-block;
	font-size:0.65rem;
	font-family:var(--ph-font-display);
	text-transform:uppercase;
	letter-spacing:3px;
	color:var(--ph-surface-3);
	margin-bottom:15px;
}
.sector-tag::before {
	content:"// ";
	color:var(--ph-amber);
}
/* === Decorative gradient bars === */
        .deco-bar {
	width:100%;
	height:3px;
	background:linear-gradient(90deg,var(--ph-amber),var(--ph-orange),transparent);
	margin:20px 0;
	opacity:0.6;
}
.deco-bar-cyan {
	background:linear-gradient(90deg,var(--ph-cyan),transparent);
}
/* === Hex ID decorative text === */
        .hex-id {
	font-size:0.65rem;
	color:var(--ph-surface-3);
	letter-spacing:1px;
}
/* === Hero title (overview section) === */
        .hero-title {
	font-family:var(--ph-font-display);
	font-size:2.2rem;
	line-height:1.2;
	text-transform:uppercase;
}
.hero-subtitle {
	font-size:1rem;
	color:var(--ph-amber);
	margin-top:8px;
}
/* === Mini stat blocks (overview row) === */
        .stat-mini {
	text-align:center;
	padding:16px 10px;
	border:1px solid var(--ph-surface-3);
	background:var(--ph-surface-2);
}
.stat-mini-value {
	font-family:var(--ph-font-display);
	font-size:1.6rem;
	color:var(--ph-amber);
}
.stat-mini-label {
	font-size:0.7rem;
	text-transform:uppercase;
	color:var(--ph-surface-3);
	letter-spacing:2px;
	margin-top:4px;
}
/* === Project cards === */
        .project-card {
	position:relative;
	border:2px solid var(--ph-surface-3);
	background:var(--ph-surface-1);
	box-shadow:6px 6px 0 #000;
	overflow:hidden;
	transition:border-color 0.3s,box-shadow 0.3s;
}
.project-card:hover {
	border-color:var(--ph-amber);
	box-shadow:6px 6px 0 #000,0 0 20px rgb(255 176 0 / 0.15);
}
.project-card::before,.project-card::after {
	content:"";
	position:absolute;
	width:10px;
	height:10px;
	border:2px solid var(--ph-white);
	pointer-events:none;
	z-index:2;
}
.project-card::before {
	top:-2px;
	left:-2px;
	border-bottom:none;
	border-right:none;
}
.project-card::after {
	bottom:-2px;
	right:-2px;
	border-top:none;
	border-left:none;
}
.project-img-area {
	width:100%;
	height:160px;
	overflow:hidden;
	border-bottom:2px solid var(--ph-surface-3);
	position:relative;
	background:var(--ph-surface-2);
	display:flex;
	align-items:center;
	justify-content:center;
}
.project-img-area img {
	width:100%;
	height:100%;
	object-fit:cover;
	filter:grayscale(30%) contrast(1.1);
	transition:filter 0.3s;
}
.project-card:hover .project-img-area img {
	filter:grayscale(0%) contrast(1.05);
}
.project-img-placeholder {
	font-family:var(--ph-font-display);
	font-size:2rem;
	color:var(--ph-surface-3);
	letter-spacing:4px;
	user-select:none;
}
.project-img-tag {
	position:absolute;
	top:8px;
	right:8px;
	z-index:2;
}
.project-body {
	padding:16px;
}
.project-title {
	font-family:var(--ph-font-display);
	font-size:0.9rem;
	color:var(--ph-amber);
	text-transform:uppercase;
	letter-spacing:1px;
	margin-bottom:8px;
}
.project-desc {
	font-size:0.85rem;
	line-height:1.6;
	margin-bottom:12px;
}
/* === Contact channel items === */
        .contact-item {
	display:flex;
	align-items:center;
	gap:14px;
	padding:14px 16px;
	border:1px solid var(--ph-surface-3);
	background:var(--ph-surface-2);
	margin-bottom:8px;
	transition:border-color 0.3s,background 0.3s;
}
.contact-item:hover {
	border-color:var(--ph-cyan);
	background:rgb(0 163 163 / 0.05);
}
.contact-icon {
	font-size:1.4rem;
	color:var(--ph-cyan);
	width:32px;
	text-align:center;
	flex-shrink:0;
}
.contact-label {
	font-size:0.7rem;
	text-transform:uppercase;
	color:var(--ph-amber);
	letter-spacing:2px;
}
.contact-value {
	font-size:0.9rem;
}
/* === Sidebar flex layout override (for footer push) === */
        .ph-sidebar {
	display:flex;
	flex-direction:column;
}
.sidebar-footer {
	margin-top:auto;
	padding-top:20px;
	border-top:1px solid var(--ph-surface-3);
	font-size:0.7rem;
	color:var(--ph-surface-3);
	text-align:center;
}
.sidebar-footer .dot-matrix {
	font-size:0.6rem;
	letter-spacing:2px;
	color:var(--ph-surface-3);
	margin-top:6px;
}
/* === Page footer === */
        .page-footer {
	border-top:2px solid var(--ph-surface-3);
	padding:20px 0;
	margin-top:40px;
	text-align:center;
	font-size:0.8rem;
	color:var(--ph-surface-3);
}
/* === Nav right cluster === */
        .nav-right {
	display:flex;
	align-items:center;
	gap:12px;
}
.nav-status-text {
	font-size:0.75rem;
	color:var(--ph-green);
	text-transform:uppercase;
	letter-spacing:2px;
}
/* === Responsive overrides for custom elements === */
        @media (max-width:768px) {
	.hero-title {
	font-size:1.6rem;
}
.stat-mini-value {
	font-size:1.2rem;
}
}