:root{--softrime-color-bg: #fafafa;--softrime-color-text: #1a1a1a;--softrime-color-muted: #5c5c5c;--softrime-color-border: #e0e0e0;--softrime-color-accent: #2563eb;--softrime-font-sans: system-ui, -apple-system, "Segoe UI", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;--softrime-font-mono: ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace;--softrime-max-width: 1100px;--softrime-content-width: 720px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--softrime-font-sans);font-size:1rem;line-height:1.75;color:var(--softrime-color-text);background:var(--softrime-color-bg)}a{color:var(--softrime-color-accent);text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{opacity:.85}code{font-family:var(--softrime-font-mono);font-size:.92em;background:#fff;padding:.1em .35em;border:1px solid var(--softrime-color-border);border-radius:4px}pre{padding:1rem 1.25rem;overflow-x:auto;background:#fff;border:1px solid var(--softrime-color-border);border-radius:6px;font-size:.9rem;line-height:1.6}pre code{padding:0;border:0;background:transparent}.lab-site{min-height:100vh;display:flex;flex-direction:column}.lab-header{border-bottom:1px solid var(--softrime-color-border);background:#fff}.lab-header__inner{max-width:var(--softrime-max-width);margin:0 auto;padding:1rem 1.25rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem 1.5rem}.lab-brand{font-weight:700;font-size:1.125rem}.lab-brand a{color:inherit;text-decoration:none}.lab-nav{display:flex;gap:1rem;font-size:.95rem}.lab-main{flex:1;width:100%;max-width:var(--softrime-max-width);margin:0 auto;padding:2rem 1.25rem}.lab-prose{max-width:var(--softrime-content-width)}.lab-prose h1{font-size:1.75rem;line-height:1.35;margin:0 0 1rem}.lab-prose h2{font-size:1.25rem;margin:2rem 0 .75rem}.lab-prose p{margin:0 0 1rem}.lab-prose ul,.lab-prose ol{margin:0 0 1rem;padding-left:1.25rem}.lab-meta{font-size:.9rem;color:var(--softrime-color-muted);margin-bottom:1.5rem}.lab-footer{border-top:1px solid var(--softrime-color-border);background:#fff;margin-top:auto}.lab-footer__inner{max-width:var(--softrime-max-width);margin:0 auto;padding:1.25rem;font-size:.9rem;color:var(--softrime-color-muted)}.lab-footer__links{margin:0}.lab-footer__links a{color:var(--softrime-color-accent);text-decoration:none}.lab-footer__links a:hover{text-decoration:underline}.lab-card-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.lab-card{padding:1rem 1.25rem;background:#fff;border:1px solid var(--softrime-color-border);border-radius:8px}.lab-card h2,.lab-card h3{font-size:1.1rem;margin:0 0 .35rem;font-weight:600}.lab-card p{margin:0;font-size:.95rem;color:var(--softrime-color-muted)}.markdown-body hr{border:0;border-top:1px solid var(--softrime-color-border);margin:2rem 0}.markdown-body h1{font-size:1.5rem;margin:0 0 1rem;line-height:1.35}.markdown-body h2{font-size:1.2rem;margin:2rem 0 .75rem}.markdown-body h3{font-size:1.05rem;margin:1.25rem 0 .5rem}.markdown-body table{width:100%;border-collapse:collapse;font-size:.92rem;margin:1rem 0}.markdown-body th,.markdown-body td{border:1px solid var(--softrime-color-border);padding:.4rem .6rem;text-align:left}.markdown-body blockquote{margin:1rem 0;padding-left:1rem;border-left:4px solid var(--softrime-color-border);color:var(--softrime-color-muted)}.markdown-body pre.shiki,.markdown-body pre.astro-code{margin:1rem 0;padding:1rem 1.25rem;overflow-x:auto;border-radius:6px;font-size:.88rem;line-height:1.55}.markdown-body pre.astro-code{border:1px solid var(--softrime-color-border)}.markdown-body pre.shiki-fallback{margin:1rem 0;padding:1rem 1.25rem;overflow-x:auto;background:#fff;border:1px solid var(--softrime-color-border);border-radius:6px}.lab-training-toc{margin:0 0 2rem;padding:1rem 1.25rem;background:#fff;border:1px solid var(--softrime-color-border);border-radius:8px}.lab-training-toc__title{margin:0 0 .75rem;font-size:.95rem;font-weight:600;color:var(--softrime-color-muted)}.lab-training-toc__list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr));gap:.35rem 1rem;font-size:.92rem;line-height:1.45}.lab-training-toc__list a{text-decoration:none}.lab-training-toc__list a:hover{text-decoration:underline}.lab-training-cat{margin-bottom:2rem;scroll-margin-top:1rem}.lab-training-cat h2{font-size:1.15rem;margin:0 0 .75rem;color:var(--softrime-color-muted)}
