:root {
  --background: 210 40% 98%;
  --foreground: 221 39% 14%;
  --primary: 191 92% 27%;
  --secondary: 168 52% 88%;
  --muted: 214 32% 91%;
  --destructive: 0 74% 52%;
  --border: 214 22% 84%;
  --card: 0 0% 100%;
  --shadow-sm: 0 4px 14px rgba(15, 23, 42, .06);
  --shadow-md: 0 12px 30px rgba(15, 23, 42, .10);
  --shadow-lg: 0 22px 60px rgba(15, 23, 42, .16);
  --transition-fast: 160ms ease;
  --transition-smooth: 260ms cubic-bezier(.2,.8,.2,1);
  --radius-sm: .65rem;
  --radius-md: 1rem;
  --radius-lg: 1.35rem;
}
.dark {
  --background: 222 43% 8%;
  --foreground: 210 40% 96%;
  --primary: 184 86% 43%;
  --secondary: 190 28% 18%;
  --muted: 220 26% 16%;
  --destructive: 0 72% 58%;
  --border: 220 22% 24%;
  --card: 222 38% 11%;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: hsl(var(--background)); color: hsl(var(--foreground)); }
input, select, textarea { font-size: max(16px, 1rem); }
button, a.button-like { min-height: 44px; }
.glass-card { background: linear-gradient(145deg, hsl(var(--card)) 0%, hsl(var(--secondary) / .45) 100%); box-shadow: var(--shadow-md); border: 1px solid hsl(var(--border)); border-radius: var(--radius-lg); }
.code-box { white-space: pre-wrap; word-break: break-word; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }
.safe-bottom { padding-bottom: calc(1rem + env(safe-area-inset-bottom)); }

/* Advanced Print Customization Rules */
@media print {
  .no-print, 
  aside, 
  header, 
  nav, 
  button, 
  select, 
  input {
    display: none !important;
  }
  body, 
  main, 
  .print-container {
    background: white !important;
    color: black !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    border: none !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .glass-card {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
  }
  table {
    page-break-inside: auto;
    width: 100% !important;
    border-collapse: collapse !important;
  }
  tr {
    page-break-inside: avoid;
    page-break-after: auto;
  }
  th, td {
    border: 1px solid #000 !important;
    padding: 6px !important;
    font-size: 10px !important;
  }
}
