Spaces:
Running
Running
| /* ===== Planted in Nutrition — Polish Pack v1 ===== | |
| Drop-in replacement for style.css. Safe: no ID/class renames required. | |
| Tweak tokens below to match brand. | |
| */ | |
| /* ---------- Tokens ---------- */ | |
| :root{ | |
| --bg: #0b0f14; | |
| --surface: #111826; | |
| --surface-2: #0f1724; | |
| --text: #e6edf3; | |
| --muted: #a7b0bd; | |
| --brand: #22d3ee; /* accent (teal/cyan) */ | |
| --brand-2: #22c55e; /* success (green) */ | |
| --danger: #ef4444; | |
| --link: #7dd3fc; | |
| --border: #223047; | |
| --radius: 14px; | |
| --shadow: 0 10px 30px rgba(0,0,0,.35); | |
| --font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif; | |
| --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; | |
| --step--2: clamp(0.78rem, 0.76rem + 0.2vw, 0.86rem); | |
| --step--1: clamp(0.90rem, 0.86rem + 0.3vw, 0.98rem); | |
| --step-0: clamp(1.00rem, 0.95rem + 0.35vw, 1.10rem); | |
| --step-1: clamp(1.15rem, 1.05rem + 0.6vw, 1.32rem); | |
| --step-2: clamp(1.35rem, 1.22rem + 0.9vw, 1.58rem); | |
| --step-3: clamp(1.62rem, 1.38rem + 1.2vw, 1.90rem); | |
| --step-4: clamp(1.94rem, 1.55rem + 1.6vw, 2.28rem); | |
| } | |
| /* ---------- Base ---------- */ | |
| * { box-sizing: border-box; } | |
| html, body { height: 100%; } | |
| html { scroll-behavior: smooth; } | |
| body{ | |
| margin:0; | |
| background: radial-gradient(1200px 800px at 70% 0%, rgba(34,211,238,.06), transparent 40%), | |
| linear-gradient(180deg, var(--bg), #0a0e13); | |
| color: var(--text); | |
| font: 400 var(--step-0)/1.6 var(--font-sans); | |
| text-rendering: optimizeLegibility; | |
| -webkit-font-smoothing: antialiased; | |
| } | |
| img, svg, video { max-width: 100%; height: auto; display: block; } | |
| /* Links */ | |
| a{ color: var(--link); text-decoration: none; } | |
| a:hover{ text-decoration: underline; } | |
| /* Headings */ | |
| h1,h2,h3,h4,h5{ font-weight: 700; margin: 0 0 .5rem; letter-spacing: .2px; } | |
| h1{ font-size: var(--step-4); line-height: 1.2; } | |
| h2{ font-size: var(--step-3); } | |
| h3{ font-size: var(--step-2); } | |
| h4{ font-size: var(--step-1); } | |
| /* Focus states (keyboard) */ | |
| :focus-visible{ | |
| outline: 2px solid var(--brand); | |
| outline-offset: 2px; | |
| border-radius: 8px; | |
| } | |
| /* ---------- Layout Shell ---------- */ | |
| /* Keep existing structure; enhance only */ | |
| .app{ | |
| display: grid; | |
| grid-template-columns: 300px 1fr; | |
| gap: 0; | |
| min-height: 100vh; | |
| } | |
| /* Sidebar (supports #sidebar or .sidebar) */ | |
| #sidebar, .sidebar{ | |
| background: linear-gradient(180deg, var(--surface), var(--surface-2)); | |
| border-right: 1px solid var(--border); | |
| padding: 16px; | |
| position: sticky; | |
| top: 0; | |
| height: 100vh; | |
| overflow: auto; | |
| box-shadow: inset -1px 0 0 rgba(255,255,255,.02); | |
| } | |
| .sidebar-header{ | |
| display:flex; align-items:center; justify-content:space-between; | |
| margin-bottom:12px; gap:8px; | |
| } | |
| .sidebar-title{ font-size: var(--step-1); font-weight:700; } | |
| /* Nav items (modules/lessons) */ | |
| .nav-group{ margin: 10px 0 16px; } | |
| .nav-label{ | |
| color: var(--muted); | |
| font-size: var(--step--1); | |
| text-transform: uppercase; | |
| letter-spacing: .8px; | |
| margin-bottom: 8px; | |
| } | |
| .nav-list{ list-style: none; padding:0; margin:0; } | |
| .nav-item{ | |
| display:flex; align-items:center; gap:10px; | |
| padding:10px 12px; | |
| margin:6px 0; | |
| border:1px solid transparent; | |
| border-radius: 10px; | |
| background: rgba(255,255,255,.02); | |
| transition: background .2s ease, border-color .2s ease, transform .05s ease; | |
| cursor: pointer; | |
| } | |
| .nav-item:hover{ background: rgba(255,255,255,.04); } | |
| .nav-item:active{ transform: translateY(1px); } | |
| .nav-item.active{ | |
| border-color: rgba(125,211,252,.45); | |
| background: linear-gradient(180deg, rgba(125,211,252,.08), rgba(255,255,255,.02)); | |
| } | |
| .nav-item.completed::before{ | |
| content:"✓"; | |
| display:inline-grid; place-items:center; | |
| width:18px; height:18px; border-radius:50%; | |
| background: rgba(34,197,94,.15); | |
| color:#a7f3d0; font-weight:700; font-size:.85rem; | |
| } | |
| /* Main content area */ | |
| .main{ | |
| padding: 28px clamp(16px, 4vw, 48px); | |
| } | |
| .card{ | |
| background: radial-gradient(600px 300px at 10% -10%, rgba(34,211,238,.06), transparent 30%), | |
| linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01)); | |
| border: 1px solid var(--border); | |
| border-radius: var(--radius); | |
| box-shadow: var(--shadow); | |
| padding: clamp(16px, 3vw, 28px); | |
| } | |
| .card + .card{ margin-top: 16px; } | |
| /* Video / iframe wrapper */ | |
| .player{ | |
| border:1px solid var(--border); | |
| border-radius: 12px; | |
| overflow:hidden; | |
| background: #000; | |
| aspect-ratio: 16 / 9; | |
| } | |
| .player iframe{ | |
| width:100%; height:100%; border:0; display:block; | |
| } | |
| /* Pills / chips */ | |
| .chips{ display:flex; gap:8px; flex-wrap: wrap; } | |
| .chip{ | |
| padding:6px 10px; | |
| border-radius: 999px; | |
| background: rgba(255,255,255,.06); | |
| border:1px solid var(--border); | |
| font-size: var(--step--1); | |
| } | |
| /* Buttons */ | |
| .btn{ | |
| display:inline-flex; align-items:center; gap:10px; | |
| padding:10px 14px; | |
| border-radius: 12px; | |
| border:1px solid var(--border); | |
| background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)); | |
| color: var(--text); text-decoration:none; cursor:pointer; | |
| transition: border-color .2s ease, background .2s ease, transform .05s ease; | |
| user-select:none; | |
| } | |
| .btn:hover{ border-color: rgba(125,211,252,.45); background: rgba(255,255,255,.05); } | |
| .btn:active{ transform: translateY(1px); } | |
| .btn.brand{ | |
| border-color: rgba(34,211,238,.35); | |
| background: linear-gradient(180deg, rgba(34,211,238,.16), rgba(34,211,238,.06)); | |
| } | |
| .btn.danger{ | |
| border-color: rgba(239,68,68,.35); | |
| background: linear-gradient(180deg, rgba(239,68,68,.16), rgba(239,68,68,.06)); | |
| } | |
| /* Meta text */ | |
| .muted{ color: var(--muted); } | |
| /* Tables (for any resources) */ | |
| .table{ | |
| width:100%; border-collapse: collapse; font-size: var(--step--1); | |
| background: rgba(255,255,255,.02); border-radius:12px; overflow:hidden; | |
| } | |
| .table th, .table td{ | |
| padding:10px 12px; border-bottom:1px solid var(--border); | |
| } | |
| .table th{ text-align:left; color: var(--muted); text-transform: uppercase; letter-spacing:.6px; } | |
| /* ---------- Mobile / responsive ---------- */ | |
| .mobile-menu-btn{ | |
| position: fixed; top: 14px; left: 14px; z-index: 50; | |
| display: none; align-items:center; justify-content:center; | |
| width:40px; height:40px; border-radius:10px; | |
| border:1px solid var(--border); | |
| background: rgba(255,255,255,.06); | |
| backdrop-filter: blur(6px); | |
| } | |
| @media (max-width: 1000px){ | |
| .app{ grid-template-columns: 1fr; } | |
| #sidebar, .sidebar{ | |
| position: fixed; inset: 0 auto 0 0; width: 84%; | |
| max-width: 320px; height: 100dvh; z-index: 40; | |
| transform: translateX(-100%); | |
| transition: transform .25s ease; | |
| box-shadow: 12px 0 30px rgba(0,0,0,.35); | |
| } | |
| #sidebar.is-open, .sidebar.is-open{ transform: translateX(0); } | |
| .main{ padding-top: 70px; } /* breathing room for button */ | |
| .mobile-menu-btn{ display: inline-flex; } | |
| } | |
| /* ---------- Utilities ---------- */ | |
| .hr{ height:1px; background: var(--border); border:0; margin:16px 0; } | |
| .grid{ display:grid; gap:16px; } | |
| .grid.two{ grid-template-columns: 1fr 1fr; } | |
| @media (max-width: 800px){ .grid.two{ grid-template-columns: 1fr; } } | |
| /* Footer note */ | |
| .footer{ | |
| margin-top: 24px; color: var(--muted); font-size: var(--step--1); | |
| border-top: 1px solid var(--border); padding-top: 16px; | |
| } | |