OpChan/app/src/index.css

279 lines
5.4 KiB
CSS
Raw Normal View History

2025-04-24 17:35:31 +05:30
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap');
2025-04-15 16:28:03 +05:30
@tailwind base;
@tailwind components;
@tailwind utilities;
@layer base {
:root {
--background: 210 5% 6%;
--foreground: 45 18% 92%;
2025-04-15 16:28:03 +05:30
--card: 210 4% 8%;
--card-foreground: 45 18% 92%;
2025-04-15 16:28:03 +05:30
--popover: 210 5% 10%;
--popover-foreground: 45 18% 92%;
2025-04-15 16:28:03 +05:30
--primary: 38 80% 62%;
--primary-foreground: 0 0% 12%;
2025-04-15 16:28:03 +05:30
--secondary: 210 4% 12%;
--secondary-foreground: 45 18% 92%;
2025-04-15 16:28:03 +05:30
--muted: 210 5% 18%;
--muted-foreground: 210 10% 60%;
2025-04-15 16:28:03 +05:30
--accent: 38 80% 62%;
--accent-foreground: 0 0% 12%;
2025-04-15 16:28:03 +05:30
--destructive: 2 64% 48%;
--destructive-foreground: 45 18% 96%;
2025-04-15 16:28:03 +05:30
--border: 210 6% 22%;
--input: 210 6% 22%;
--ring: 38 80% 62%;
2025-04-15 16:28:03 +05:30
--radius: 0rem;
2025-04-15 16:28:03 +05:30
--sidebar-background: 210 5% 8%;
--sidebar-foreground: 45 18% 92%;
--sidebar-primary: 38 80% 62%;
--sidebar-primary-foreground: 0 0% 12%;
--sidebar-accent: 210 4% 12%;
--sidebar-accent-foreground: 45 18% 90%;
--sidebar-border: 210 6% 22%;
--sidebar-ring: 38 80% 62%;
2025-04-15 16:28:03 +05:30
}
}
@layer base {
* {
@apply border-border;
}
body {
@apply bg-background text-foreground font-mono;
2025-08-30 18:34:50 +05:30
font-family:
'IBM Plex Mono',
'Inter',
system-ui,
-apple-system,
BlinkMacSystemFont,
'Segoe UI',
Roboto,
Oxygen,
Ubuntu,
Cantarell,
'Open Sans',
'Helvetica Neue',
sans-serif;
letter-spacing: 0.03em;
background-image:
linear-gradient(
to bottom,
rgba(255, 255, 255, 0.03) 1px,
transparent 1px
),
linear-gradient(
to right,
rgba(255, 255, 255, 0.02) 1px,
transparent 1px
);
background-size: 100% 32px, 32px 100%;
2025-04-15 16:28:03 +05:30
}
::-webkit-scrollbar {
width: 8px;
}
::-webkit-scrollbar-track {
background: hsl(var(--background));
2025-04-15 16:28:03 +05:30
}
::-webkit-scrollbar-thumb {
background: hsl(var(--border));
2025-04-15 16:28:03 +05:30
}
::-webkit-scrollbar-thumb:hover {
background: hsl(var(--muted));
2025-04-15 16:28:03 +05:30
}
.text-glow {
2025-11-14 14:02:27 -05:00
text-transform: none;
letter-spacing: 0.02em;
text-shadow: none;
}
.text-glow-subtle {
2025-11-14 14:02:27 -05:00
text-transform: none;
letter-spacing: 0.01em;
text-shadow: none;
2025-04-15 16:28:03 +05:30
}
*:focus-visible {
@apply outline-none ring-1 ring-primary/60 ring-offset-2 ring-offset-background;
2025-04-15 16:28:03 +05:30
}
2025-08-30 18:34:50 +05:30
h1,
h2,
h3,
h4,
h5,
h6,
button,
input,
textarea {
2025-04-15 16:28:03 +05:30
@apply font-mono;
}
2025-08-30 18:34:50 +05:30
2025-04-15 16:28:03 +05:30
.btn {
2025-11-14 14:02:27 -05:00
@apply inline-flex items-center justify-between border border-border px-3 py-2 text-xs font-normal text-foreground transition-none focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:opacity-60;
2025-04-15 16:28:03 +05:30
}
}
@layer components {
2025-09-05 20:26:29 +05:30
/* Page Layout Components */
.page-container {
@apply min-h-screen flex flex-col bg-cyber-dark text-foreground;
2025-09-05 20:26:29 +05:30
}
.page-header {
2025-11-17 18:29:28 -05:00
@apply mb-2 sm:mb-3 border-b border-border pb-2 sm:pb-3;
2025-09-05 20:26:29 +05:30
}
.page-title {
2025-11-14 14:02:27 -05:00
@apply text-sm sm:text-base font-semibold text-foreground mb-1;
2025-09-05 20:26:29 +05:30
}
.page-subtitle {
2025-11-14 14:02:27 -05:00
@apply text-[10px] sm:text-xs text-muted-foreground;
2025-09-05 20:26:29 +05:30
}
.page-content {
2025-11-17 18:29:28 -05:00
@apply flex-1 pt-4 sm:pt-6;
2025-09-05 20:26:29 +05:30
}
.page-main {
2025-11-17 18:29:28 -05:00
@apply w-full mx-auto px-2 sm:px-3 md:px-4 py-2 sm:py-3 md:py-4 max-w-5xl;
2025-09-05 20:26:29 +05:30
}
.page-footer {
2025-11-14 14:02:27 -05:00
@apply border-t border-border py-2 sm:py-3 text-center text-[10px] text-muted-foreground px-3;
2025-09-05 20:26:29 +05:30
}
2025-11-17 18:29:28 -05:00
/* Card Components - Simplified to flat list items */
2025-09-05 20:26:29 +05:30
.card-base {
2025-11-17 18:29:28 -05:00
@apply bg-transparent border-0 rounded-none shadow-none;
2025-09-05 20:26:29 +05:30
}
.card-hover {
2025-11-17 18:29:28 -05:00
@apply hover:bg-transparent;
2025-09-05 20:26:29 +05:30
}
.card-padding {
2025-11-17 18:29:28 -05:00
@apply p-2;
2025-09-05 20:26:29 +05:30
}
.card-padding-sm {
2025-11-17 18:29:28 -05:00
@apply p-1;
2025-09-05 20:26:29 +05:30
}
2025-04-15 16:28:03 +05:30
.thread-card {
2025-11-17 18:29:28 -05:00
@apply border-b border-border/30 py-2 mb-0;
2025-04-15 16:28:03 +05:30
}
2025-08-30 18:34:50 +05:30
2025-04-15 16:28:03 +05:30
.board-card {
2025-11-17 18:29:28 -05:00
@apply border-b border-border/30 py-2 mb-0;
2025-04-15 16:28:03 +05:30
}
2025-08-30 18:34:50 +05:30
2025-04-15 16:28:03 +05:30
.comment-card {
2025-11-17 18:29:28 -05:00
@apply border-l border-border pl-2 py-1 my-1;
2025-04-15 16:28:03 +05:30
}
2025-09-05 20:26:29 +05:30
/* Content Cards */
.content-card {
2025-11-17 18:29:28 -05:00
@apply border-b border-border/30 py-2;
2025-09-05 20:26:29 +05:30
}
.content-card-sm {
2025-11-17 18:29:28 -05:00
@apply border-b border-border/30 py-1;
2025-09-05 20:26:29 +05:30
}
/* Status Indicators */
.status-ready {
@apply bg-green-500/20 text-green-400 border-green-500/30;
}
.status-warning {
@apply bg-orange-500/20 text-orange-400 border-orange-500/30;
}
.status-error {
@apply bg-red-500/20 text-red-400 border-red-500/30;
}
.status-neutral {
@apply bg-cyber-muted/20 text-cyber-neutral border-cyber-muted/30;
}
/* Button Variants */
.btn-cyber {
2025-11-14 14:02:27 -05:00
@apply border border-border bg-transparent text-foreground text-xs hover:bg-white/10;
2025-09-05 20:26:29 +05:30
}
.btn-cyber-outline {
@apply border border-border text-muted-foreground hover:text-foreground hover:bg-white/5;
2025-09-05 20:26:29 +05:30
}
/* Typography */
2025-11-17 18:29:28 -05:00
/* Spacing Utilities - Simplified for raw layout */
2025-09-05 20:26:29 +05:30
.section-spacing {
2025-11-17 18:29:28 -05:00
@apply mb-4;
2025-09-05 20:26:29 +05:30
}
.content-spacing {
2025-11-17 18:29:28 -05:00
@apply mb-3;
2025-09-05 20:26:29 +05:30
}
.item-spacing {
2025-11-17 18:29:28 -05:00
@apply mb-2;
2025-09-05 20:26:29 +05:30
}
/* Grid Layouts */
.grid-main-sidebar {
@apply grid grid-cols-1 lg:grid-cols-3 gap-6;
}
.grid-main-content {
@apply lg:col-span-2;
}
.grid-sidebar {
@apply lg:col-span-1;
}
2025-11-17 18:29:28 -05:00
/* Empty States - Simplified */
2025-09-05 20:26:29 +05:30
.empty-state {
2025-11-17 18:29:28 -05:00
@apply py-4 px-2 text-center;
2025-09-05 20:26:29 +05:30
}
.empty-state-icon {
2025-11-17 18:29:28 -05:00
@apply hidden;
2025-09-05 20:26:29 +05:30
}
.empty-state-title {
2025-11-17 18:29:28 -05:00
@apply text-xs font-mono text-muted-foreground mb-1;
2025-09-05 20:26:29 +05:30
}
.empty-state-description {
2025-11-17 18:29:28 -05:00
@apply text-xs text-muted-foreground mb-2;
}
}
.cyberpunk-glow {
2025-11-14 14:02:27 -05:00
text-transform: none;
letter-spacing: 0.02em;
text-shadow: none;
}