/* src/styles/md3-tokens.css */
/* MD3-inspired tokens tuned for education: high readability, clear contrast, calm surfaces */
:root{
 /* Typography */
 --font-sans: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
 --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
 /* Spacing + shape */
 --radius-1: 10px;
 --radius-2: 16px;
 --radius-3: 22px;
 --shadow-1: 0 1px 2px rgba(0,0,0,.08), 0 2px 8px rgba(0,0,0,.06);
 /* Color roles (keep simple) */
 --md-surface: #ffffff;
 --md-surface-2: #f6f7fb;
 --md-on-surface: #111318;
 --md-primary: #2f6fed; /* calm blue */
 --md-on-primary: #ffffff;
 --md-secondary: #5a5f72; /* muted */
 --md-on-secondary: #ffffff;
 --md-tertiary: #0f766e; /* teal for "practical" tools */
 --md-on-tertiary: #ffffff;
 --md-outline: #d7dbe7;
 --md-success: #1a7f37;
 --md-warning: #b54708;
 --md-danger: #b42318;
 /* Focus ring for accessibility */
 --md-focus: 0 0 0 3px rgba(47,111,237,.28);
}
@media (prefers-color-scheme: dark){
 :root{
 --md-surface: #0b0e14;
 --md-surface-2: #121725;
 --md-on-surface: #e8eaf2;
 --md-primary: #9bb6ff;
 --md-on-primary: #0b0e14;
 --md-secondary: #b8bccd;
 --md-on-secondary: #0b0e14;
 --md-tertiary: #4fd1c5;
 --md-on-tertiary: #0b0e14;
 --md-outline: #2b3244;
 --md-focus: 0 0 0 3px rgba(155,182,255,.25);
 }
}

/* src/styles/base.css */
@import "./md3-tokens.css";
html, body{ height:100%; }
body{
 margin:0;
 font-family: var(--font-sans);
 background: var(--md-surface-2);
 color: var(--md-on-surface);
}
a{ color: var(--md-primary); text-decoration: none; }
a:hover{ text-decoration: underline; }
.container{
 max-width: 1100px;
 margin: 0 auto;
 padding: 16px;
}
.card{
 background: var(--md-surface);
 border: 1px solid var(--md-outline);
 border-radius: var(--radius-2);
 box-shadow: var(--shadow-1);
 padding: 16px;
}
.btn{
 display:inline-flex;
 gap:8px;
 align-items:center;
 justify-content:center;
 border-radius: 999px;
 border: 1px solid var(--md-outline);
 background: var(--md-surface);
 color: var(--md-on-surface);
 padding: 10px 14px;
 font-weight: 600;
 cursor: pointer;
}
.btn:hover{ filter: brightness(0.98); }
.btn:focus{ outline:none; box-shadow: var(--md-focus); }
.btn-primary{
 background: var(--md-primary);
 color: var(--md-on-primary);
 border-color: transparent;
}
.badge{
 display:inline-block;
 padding: 2px 10px;
 border-radius: 999px;
 font-size: 12px;
 border: 1px solid var(--md-outline);
 background: var(--md-surface-2);
}
code, pre{ font-family: var(--font-mono); }
