@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-mono: "SF Mono", "Fira Code", "Fira Mono", "Roboto Mono", monospace;--text-sm: .875rem;--text-base: 1.125rem;--text-lg: 1.35rem;--text-xl: 1.82rem;--text-2xl: 2.18rem;--text-3xl: 2.94rem;--color-bg: #FAF9F6;--color-text: #1A1A1A;--color-text-muted: #8C8579;--color-accent: #3B82F6;--color-accent-light: #EFF6FF;--color-accent-border: #BFDBFE;--color-warm: #F59E0B;--color-warm-light: #FFFBEB;--color-warm-border: #FDE68A;--color-border: #E8E5DE;--color-surface: #F5F4F0;--color-link: #1A1A1A;--color-link-hover: #3B82F6;--max-width: 680px;--spacing-unit: 1.5rem}@media(prefers-color-scheme:dark){:root{--color-bg: #111110;--color-text: #e5e5e5;--color-text-muted: #A8A49B;--color-accent: #60A5FA;--color-accent-light: #1e293b;--color-accent-border: #334155;--color-warm: #FBBF24;--color-warm-light: #1c1a11;--color-warm-border: #44400d;--color-border: #2a2a28;--color-surface: #1a1a19;--color-link: #e5e5e5;--color-link-hover: #60A5FA}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.7;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{max-width:var(--max-width);margin:0 auto;padding:calc(var(--spacing-unit) * 3) var(--spacing-unit)}h1,h2,h3,h4{line-height:1.2;font-weight:700;letter-spacing:-.02em}h1{font-size:var(--text-3xl);margin-bottom:var(--spacing-unit)}h2{font-size:var(--text-xl);margin-top:calc(var(--spacing-unit) * 2);margin-bottom:var(--spacing-unit)}h3{font-size:var(--text-lg);margin-top:calc(var(--spacing-unit) * 1.5);margin-bottom:calc(var(--spacing-unit) * .5)}p{margin-bottom:var(--spacing-unit)}a{color:var(--color-link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:color .15s}a:hover{color:var(--color-link-hover)}ul,ol{margin-bottom:var(--spacing-unit);padding-left:1.5em}li{margin-bottom:.5em}code{font-family:var(--font-mono);font-size:.9em;background:var(--color-surface);padding:.15em .4em;border-radius:3px}pre{background:var(--color-surface);padding:var(--spacing-unit);border-radius:6px;overflow-x:auto;margin-bottom:var(--spacing-unit)}pre code{background:none;padding:0}blockquote{border-left:3px solid var(--color-warm);padding:1rem 1.25rem;background:var(--color-warm-light);border-radius:0 6px 6px 0;color:var(--color-text);margin-bottom:var(--spacing-unit);font-style:normal;font-size:var(--text-sm);line-height:1.65}blockquote p:last-child{margin-bottom:0}blockquote strong{color:var(--color-text)}hr{border:none;border-top:1px solid var(--color-border);margin:calc(var(--spacing-unit) * 2) 0}img{max-width:100%;height:auto}article img{border-radius:6px;margin:var(--spacing-unit) 0}article figure{margin:calc(var(--spacing-unit) * 1.5) 0}article figure img{margin:0;display:block;width:100%}article figcaption{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:.5rem;font-style:italic}.img-small{max-width:200px;display:inline-block;margin-right:1rem}.essay-subtitle{font-size:var(--text-lg);color:var(--color-text-muted);margin-bottom:var(--spacing-unit)}.essay-meta{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--spacing-unit)}.essay-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:calc(var(--spacing-unit) * 2);padding-top:var(--spacing-unit);border-top:1px solid var(--color-border);font-size:var(--text-sm)}.essay-nav a{max-width:45%}.essay-nav .next{margin-left:auto;text-align:right}.essay-nav .label{display:block;color:var(--color-text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.hero{margin-bottom:calc(var(--spacing-unit) * 2)}.hero h1{font-size:var(--text-3xl);margin-bottom:calc(var(--spacing-unit) * .5)}.tagline{font-size:var(--text-lg);color:var(--color-text-muted)}.explore-links{display:flex;flex-wrap:wrap;gap:1rem}.explore-links a{padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:4px;text-decoration:none;font-weight:500;transition:border-color .15s,background .15s}.explore-links a:hover{border-color:var(--color-text);background:var(--color-surface)}.share-banner{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;padding:.75rem 1rem;margin-bottom:calc(var(--spacing-unit) * 2);font-size:var(--text-sm);color:var(--color-text-muted)}.share-content{margin-top:var(--spacing-unit)}.expired-page{text-align:center;padding:calc(var(--spacing-unit) * 4) 0}.expired-page h1{font-size:var(--text-xl);margin-bottom:var(--spacing-unit)}section{margin-bottom:calc(var(--spacing-unit) * 2)}.site-nav{max-width:var(--max-width);margin:0 auto;padding:var(--spacing-unit);display:flex;justify-content:space-between;align-items:center}.site-nav .brand{font-weight:700;text-decoration:none;font-size:var(--text-lg)}.site-nav .links{display:flex;gap:1.5rem}.site-nav .links a{text-decoration:none;font-size:var(--text-sm);color:var(--color-text-muted)}.site-nav .links a:hover{color:var(--color-text)}.site-footer{max-width:var(--max-width);margin:0 auto;padding:calc(var(--spacing-unit) * 2) var(--spacing-unit);border-top:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-text-muted)}details{margin-bottom:var(--spacing-unit);border:1px solid var(--color-border);border-radius:6px;overflow:hidden}details summary{padding:.75rem 1rem;font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);cursor:pointer;background:var(--color-surface);list-style:none;display:flex;align-items:center;gap:.5rem}details summary::-webkit-details-marker{display:none}details summary:before{content:"▶";font-size:.6em;transition:transform .15s}details[open] summary:before{transform:rotate(90deg)}details[open] summary{border-bottom:1px solid var(--color-border)}details>:not(summary){padding:0 1rem}details>p:first-of-type,details>pre:first-of-type{margin-top:1rem}ul:has(>li>input[type=checkbox]){list-style:none;padding-left:0}ul>li>input[type=checkbox]{margin-right:.5em;accent-color:var(--color-accent)}.course-body{--color-green: #10B981;--color-green-light: #ECFDF5;--color-green-border: #A7F3D0;--course-max-width: 860px}@media(prefers-color-scheme:dark){.course-body{--color-green: #34D399;--color-green-light: #0d1f17;--color-green-border: #1a3a2a}}.course-nav{position:sticky;top:0;z-index:100;background:var(--color-bg);border-bottom:1px solid var(--color-border)}.course-nav-inner{max-width:var(--course-max-width);margin:0 auto;padding:.75rem var(--spacing-unit);display:flex;flex-direction:column;gap:.5rem}.course-nav-brand{font-weight:700;font-size:var(--text-sm);text-decoration:none;color:var(--color-text);letter-spacing:-.01em}.course-nav-tabs{display:flex;gap:.25rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.course-nav-tabs::-webkit-scrollbar{display:none}.course-nav-tab{display:flex;flex-direction:column;align-items:center;padding:.35rem .6rem;border-radius:6px;text-decoration:none;font-size:.7rem;color:var(--color-text-muted);white-space:nowrap;transition:background .15s,color .15s;min-width:52px}.course-nav-tab .tab-id{font-weight:700;font-size:.75rem}.course-nav-tab .tab-title{display:none}.course-nav-tab:hover:not(.empty){background:var(--color-surface);color:var(--color-text)}.course-nav-tab.active{background:var(--color-accent);color:#fff}.course-nav-tab.empty{opacity:.4;cursor:default}.course-nav-tab.day-break{margin-left:.5rem;padding-left:.85rem;border-left:2px solid var(--color-border)}@media(min-width:640px){.course-nav-inner{flex-direction:row;align-items:center}.course-nav-brand{margin-right:1rem}}.course-main{max-width:var(--course-max-width);margin:0 auto;padding:calc(var(--spacing-unit) * 2) var(--spacing-unit)}.course-footer{max-width:var(--course-max-width);margin:0 auto;padding:calc(var(--spacing-unit) * 2) var(--spacing-unit);border-top:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-text-muted);text-align:center}.course-hero{text-align:center;margin-bottom:calc(var(--spacing-unit) * 2.5)}.course-cobrand{font-size:var(--text-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-bottom:.5rem}.course-hero h1{font-size:var(--text-2xl);margin-bottom:.5rem}.course-subtitle{font-size:var(--text-base);color:var(--color-text-muted);max-width:480px;margin:0 auto}.day-section{margin-bottom:calc(var(--spacing-unit) * 2)}.day-label{font-size:var(--text-lg);margin-bottom:var(--spacing-unit);padding-bottom:.5rem;border-bottom:2px solid var(--color-border)}.day-label .day-desc{font-weight:400;color:var(--color-text-muted);font-size:var(--text-sm)}.module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.module-card{display:flex;flex-direction:column;padding:1rem;border:1px solid var(--color-border);border-radius:8px;text-decoration:none;color:var(--color-text);transition:border-color .15s,box-shadow .15s;border-top:3px solid var(--mod-color, var(--color-accent))}.module-card:hover:not(.empty){border-color:var(--mod-color, var(--color-accent));box-shadow:0 2px 8px #0000000f}.module-card.empty{opacity:.5;cursor:default}.module-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.module-icon{font-size:1.25rem}.module-id{font-weight:700;font-size:var(--text-sm);color:var(--color-text-muted)}.module-card h3{font-size:var(--text-base);margin:0 0 .35rem}.module-card p{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:.5rem;flex:1}.module-count{font-size:.75rem;color:var(--color-text-muted);font-weight:500}.empty-note{font-style:italic}.course-resources{margin-top:calc(var(--spacing-unit) * 2);padding-top:var(--spacing-unit);border-top:1px solid var(--color-border)}.course-resources h2{font-size:var(--text-lg);margin-top:0;margin-bottom:var(--spacing-unit)}.resource-links{display:flex;flex-wrap:wrap;gap:.75rem}.resource-link{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border:1px solid var(--color-border);border-radius:6px;text-decoration:none;font-size:var(--text-sm);font-weight:500;color:var(--color-text);transition:border-color .15s,background .15s}.resource-link:hover{border-color:var(--color-accent);background:var(--color-accent-light)}.resource-icon{font-size:1.1rem}.module-header{margin-bottom:calc(var(--spacing-unit) * 1.5)}.module-header h1{margin-bottom:.35rem}.module-desc{font-size:var(--text-base);color:var(--color-text-muted)}.module-empty{padding:calc(var(--spacing-unit) * 2);text-align:center;color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:8px}.item-section{margin-bottom:calc(var(--spacing-unit) * 1.5)}.section-label{font-size:var(--text-base);font-weight:600;margin-top:0;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.session-badge{display:inline-block;padding:.15rem .5rem;background:var(--color-warm);color:#fff;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:3px}.item-list{display:flex;flex-direction:column;gap:.35rem}.item-card{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;border:1px solid var(--color-border);border-radius:6px;text-decoration:none;color:var(--color-text);transition:border-color .15s,background .15s}.item-card:hover{background:var(--color-surface);border-color:var(--color-accent)}.item-card.activity{border-left:3px solid var(--color-warm)}.item-card.sop{border-left:3px solid var(--color-accent)}.item-card.lab{border-left:3px solid var(--color-green)}.item-card.ref{border-left:3px solid var(--color-border)}.item-id{font-size:.7rem;font-weight:700;color:var(--color-text-muted);min-width:2.5rem;flex-shrink:0}.item-title{font-size:var(--text-sm);font-weight:500;flex:1}.item-type-tag{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);background:var(--color-surface);padding:.1rem .4rem;border-radius:3px;flex-shrink:0}.section-desc{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:-.5rem;margin-bottom:.75rem}.worksheets-section{background:var(--color-warm-light);border:1px solid var(--color-warm-border);border-radius:8px;padding:1rem;margin-bottom:calc(var(--spacing-unit) * 1.5)}.worksheets-section .section-label{margin-top:0}.worksheet-list{display:flex;flex-direction:column;gap:.35rem}.worksheet-card{display:flex;align-items:center;gap:.5rem;background:var(--color-bg);border:1px solid var(--color-warm-border);border-radius:6px;padding:.5rem .65rem;border-left:3px solid var(--color-warm)}.worksheet-card-link{display:flex;align-items:center;gap:.5rem;flex:1;text-decoration:none;color:var(--color-text)}.worksheet-card-link:hover .item-title{color:var(--color-accent)}.worksheet-card-icon{font-size:1.1rem;flex-shrink:0}.worksheet-card-info{display:flex;align-items:center;gap:.5rem}.worksheet-card-btn{display:inline-block;padding:.25rem .65rem;background:var(--color-warm);color:#fff;font-size:.7rem;font-weight:700;text-decoration:none;border-radius:4px;white-space:nowrap;flex-shrink:0;transition:background .15s}.worksheet-card-btn:hover{background:#d97706;color:#fff}.worksheet-card-btn.pending{background:transparent;color:var(--color-text-muted);border:1px dashed var(--color-border);font-weight:500;font-style:italic}.worksheet-banner{background:var(--color-warm-light);border:1px solid var(--color-warm-border);border-radius:8px;padding:.85rem 1rem;margin-bottom:calc(var(--spacing-unit) * 1.5);display:flex;flex-direction:column;gap:.65rem}.worksheet-banner-content{display:flex;align-items:flex-start;gap:.5rem;font-size:var(--text-sm)}.worksheet-icon{font-size:1.25rem;flex-shrink:0}.worksheet-open-btn{display:inline-block;padding:.45rem 1rem;background:var(--color-warm);color:#fff;font-size:var(--text-sm);font-weight:700;text-decoration:none;border-radius:6px;text-align:center;transition:background .15s}.worksheet-open-btn:hover{background:#d97706;color:#fff}.worksheet-pending{font-size:var(--text-sm);color:var(--color-text-muted);font-style:italic}.badge-worksheet{background:var(--color-warm);color:#fff;border:none}.course-breadcrumb{display:flex;align-items:center;gap:.35rem;font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--spacing-unit)}.course-breadcrumb a{color:var(--color-text-muted);text-decoration:none}.course-breadcrumb a:hover{color:var(--color-accent)}.bc-sep{opacity:.4}.content-header{margin-bottom:.5rem}.type-badge{display:inline-block;padding:.15rem .5rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:3px}.badge-activity{background:var(--color-warm-light);color:var(--color-warm);border:1px solid var(--color-warm-border)}.badge-sop{background:var(--color-accent-light);color:var(--color-accent);border:1px solid var(--color-accent-border)}.badge-lab{background:var(--color-green-light);color:var(--color-green);border:1px solid var(--color-green-border)}.badge-ref{background:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border)}.course-article{font-size:.95rem;line-height:1.65}.course-article h1{font-size:var(--text-2xl)}.course-article h2{font-size:var(--text-xl);padding-bottom:.35rem;border-bottom:1px solid var(--color-border)}.course-article h3{font-size:var(--text-lg)}.course-article table{width:100%;border-collapse:collapse;margin-bottom:var(--spacing-unit);font-size:var(--text-sm)}.course-article th,.course-article td{padding:.5rem .75rem;border:1px solid var(--color-border);text-align:left}.course-article th{background:var(--color-surface);font-weight:600}.course-article tr:nth-child(2n){background:var(--color-surface)}.course-item-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:calc(var(--spacing-unit) * 2);padding-top:var(--spacing-unit);border-top:1px solid var(--color-border)}.course-item-nav a{text-decoration:none;max-width:45%}.nav-prev{text-align:left}.nav-next{text-align:right;margin-left:auto}.nav-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.2rem}.nav-title{font-size:var(--text-sm);font-weight:500;color:var(--color-text)}.course-item-nav a:hover .nav-title{color:var(--color-accent)}.copy-wrapper{position:relative;margin-bottom:var(--spacing-unit)}.copy-wrapper pre{margin-bottom:0}.copy-btn{position:absolute;top:.5rem;right:.5rem;padding:.25rem .6rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;font-size:.7rem;font-weight:600;color:var(--color-text-muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s;font-family:var(--font-body)}.copy-btn:hover{background:var(--color-surface);color:var(--color-text);border-color:var(--color-text-muted)}.copy-btn.copied{background:var(--color-green);color:#fff;border-color:var(--color-green)}@media(max-width:480px){.module-grid{grid-template-columns:1fr}.course-hero h1{font-size:var(--text-xl)}.course-main{padding:var(--spacing-unit) .75rem}.course-article table{display:block;overflow-x:auto}.course-item-nav{flex-direction:column}.course-item-nav a{max-width:100%}.nav-next{text-align:left;margin-left:0}}.vartopia-body{--vartopia-green: #10B981;--vartopia-green-dark: #34D399}.vartopia-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.vartopia-nav-links{display:flex;gap:.25rem;flex-wrap:wrap;margin-left:auto}.vartopia-nav-link{font-size:.75rem;color:var(--color-text-muted);text-decoration:none;padding:.25rem .5rem;border-radius:4px;transition:color .15s,background .15s}.vartopia-nav-link:hover{color:var(--color-text);background:var(--color-surface)}.vartopia-nav-link.active{color:var(--color-accent);background:#3b82f61a}@media(prefers-color-scheme:dark){.vartopia-nav-link.active{background:#60a5fa1a}}.wip-banner{display:flex;align-items:center;gap:.75rem;padding:.5rem 1.5rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);max-width:var(--max-width);margin:0 auto}.wip-label{font-family:var(--font-mono);font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-warm);background:#f59e0b1a;padding:.15rem .5rem;border-radius:3px;white-space:nowrap}@media(prefers-color-scheme:dark){.wip-label{color:var(--color-warm);background:#fbbf241a}}.wip-text{font-size:.8rem;color:var(--color-text-muted)}@media(max-width:600px){.vartopia-nav-links{width:100%;margin-left:0;overflow-x:auto;flex-wrap:nowrap}.wip-banner{flex-direction:column;align-items:flex-start;gap:.35rem;padding:.5rem 1rem}}
