/* Tailwind CSS Preflight (Base Styles) */
*,::before,::after {box-sizing:border-box;border-width:0;border-style:solid;border-color:theme('borderColor.DEFAULT','currentColor')}::before,::after {--tw-content:''}html {line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:theme('fontFamily.sans',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:theme('fontFamily.sans[1].fontFeatureSettings',normal);font-variation-settings:theme('fontFamily.sans[1].fontVariationSettings',normal)}body {margin:0;line-height:inherit}hr {height:0;color:inherit;border-top-width:1px}abbr:where([title]) {text-decoration:underline dotted}h1,h2,h3,h4,h5,h6 {font-size:inherit;font-weight:inherit}a {color:inherit;text-decoration:inherit}b,strong {font-weight:bolder}code,kbd,samp,pre {font-family:theme('fontFamily.mono',ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-size:1em}small {font-size:80%}sub,sup {font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub {bottom:-.25em}sup {top:-.5em}table {text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea {font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select {text-transform:none}button,[type='button'],[type='reset'],[type='submit'] {-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring {outline:auto}:-moz-ui-invalid {box-shadow:none}progress {vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button {height:auto}[type='search'] {-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration {-webkit-appearance:none}::-webkit-file-upload-button {-webkit-appearance:button;font:inherit}summary {display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre {margin:0}fieldset {margin:0;padding:0}legend {padding:0}ol,ul,menu {list-style:none;margin:0;padding:0}dialog {padding:0}textarea {resize:vertical}input::placeholder,textarea::placeholder {opacity:1;color:theme('colors.gray.400',#9ca3af)}button,[role="button"] {cursor:pointer}:disabled {cursor:default}img,svg,video,canvas,audio,iframe,embed,object {display:block;vertical-align:middle}img,video {max-width:100%;height:auto}[hidden] {display:none}

/* Custom Theme Variables */
:root {
  --background: 240 10% 99%;
  --foreground: 240 10% 3.9%;
  --card: 240 10% 100%;
  --card-foreground: 240 10% 3.9%;
  --popover: 240 10% 100%;
  --popover-foreground: 240 10% 3.9%;
  --primary: 221 83% 53%;
  --primary-foreground: 210 40% 98%;
  --secondary: 240 4.8% 95.9%;
  --secondary-foreground: 240 5.9% 10%;
  --muted: 240 4.8% 95.9%;
  --muted-foreground: 240 3.8% 46.1%;
  --accent: 240 4.8% 95.9%;
  --accent-foreground: 240 5.9% 10%;
  --destructive: 0 84.2% 60.2%;
  --destructive-foreground: 210 40% 98%;
  --border: 240 5.9% 90%;
  --input: 240 5.9% 90%;
  --ring: 221 83% 53%;
}

.dark {
  --background: 0 0% 5%; /* #0d0d0d */
  --foreground: 0 0% 96%; /* #f5f5f5 */
  --card: 0 0% 10%; /* #1a1a1a - Fallback */
  --card-foreground: 0 0% 96%; /* #f5f5f5 */
  --popover: 0 0% 7%;
  --popover-foreground: 0 0% 96%;
  --primary: 29 100% 50%; /* #ff7b00 */
  --primary-foreground: 0 0% 96%;
  --secondary: 0 0% 12%;
  --secondary-foreground: 0 0% 96%;
  --muted: 0 0% 12%;
  --muted-foreground: 0 0% 69%; /* #b0b0b0 */
  --accent: 0 0% 12%;
  --accent-foreground: 0 0% 96%;
  --destructive: 0 84.2% 60.2%;
  --destructive-foreground: 0 0% 96%;
  --border: 0 0% 15%;
  --input: 0 0% 7%; /* #121212 */
  --ring: 29 100% 50%; /* #ff7b00 */
}

/* Custom Tech Theme Styles */
.dark .tech-gradient-card {
  background-image: linear-gradient(135deg, hsl(0 0% 10%), hsl(0 0% 15%)); /* #1a1a1a -> #262626 */
}
.dark .tech-shadow {
  box-shadow: 0 0 15px rgba(0,0,0,0.4);
}
.dark .tech-gradient-button {
  background-image: linear-gradient(135deg, hsl(29 100% 50%), hsl(35 100% 58%)); /* #ff7b00 -> #ff9d2b */
  border: none;
}
.dark .tech-hover-effect {
  transition: all 0.3s ease;
}
.dark .tech-hover-effect:hover {
  transform: scale(1.03);
  box-shadow: 0 0 15px hsla(var(--primary), 0.5);
}
.dark .text-green-500 { color: #4ade80; }
.dark .text-red-500 { color: #f87171; }
.dark .text-blue-400 { color: #60a5fa; }
.dark .text-yellow-400 { color: #facc15; }

body {
    background-color: hsl(var(--background));
    color: hsl(var(--foreground));
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
