:root{--page-accent: var(--fg)}::selection{background:var(--fg);color:var(--bg)}.lab-page *{box-sizing:border-box}.lab-page{display:flex;flex-direction:column;gap:56px}.lab-nav{position:sticky;top:0;z-index:10;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(14px)}.lab-nav-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(calc(100% - 48px),1120px);margin:0 auto;padding:14px 0}.lab-nav .brand{display:inline-flex;align-items:center;color:var(--fg);font-family:var(--mono);font-size:18px;font-weight:600;text-decoration:none}.lab-nav .brand img{display:block;width:30px;height:30px}.lab-nav-links{display:flex;flex-wrap:wrap;gap:14px;font-family:var(--mono);font-size:13px}.lab-nav-links a{color:var(--fg-dim);text-decoration:none}.lab-nav-links a:hover{color:var(--fg)}.lab-main{width:min(calc(100% - 48px),1120px);margin:0 auto;padding:48px 0 72px}.lab-hero{display:flex;flex-direction:column;align-items:flex-start;gap:16px;border-bottom:1px solid var(--border);padding:18px 0 40px;text-align:left}.lab-hero .logo{max-width:860px;color:var(--fg);font-family:var(--sans);font-size:56px;font-weight:700;line-height:1.08;word-break:keep-all}.lab-hero .tagline{max-width:760px;color:var(--fg-mute);font-family:var(--mono);font-size:12px;font-weight:600;line-height:1.5}.lab-hero .intro{max-width:760px;margin:0;color:var(--fg-dim);font-size:18px;line-height:1.75;word-break:keep-all}.lab-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--border);margin-bottom:28px}.lab-stat{min-width:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg);padding:18px 20px}.lab-stat:nth-child(2n){border-right:0}.lab-stat-label{margin-bottom:8px;color:var(--fg-mute);font-family:var(--mono);font-size:11px;font-weight:600}.lab-stat-value{color:var(--fg);font-size:24px;font-weight:700;line-height:1.2}.lab-stat-value .unit{margin-left:4px;color:var(--fg-dim);font-size:13px;font-weight:500}.lab-stat-sub{margin-top:6px;color:var(--fg-mute);font-size:12px;line-height:1.5}.lab-list{display:flex;flex-direction:column;border-top:1px solid var(--border)}.lab-card{display:block;border:0;border-bottom:1px solid var(--border);border-radius:0;background:var(--bg);color:inherit;padding:18px 0;text-decoration:none;transition:background .15s ease}.lab-card:hover{background:var(--bg-elev)}.lab-card-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:8px}.lab-card-title{flex:1 1 auto;min-width:0;color:var(--fg);font-size:18px;font-weight:700;line-height:1.4;overflow-wrap:break-word;word-break:keep-all}.lab-cat{flex:0 0 auto;border:1px solid var(--border);border-radius:999px;color:var(--fg-dim);background:var(--bg);padding:3px 9px;font-family:var(--mono);font-size:11px;font-weight:600;line-height:1.4}.lab-meta{margin-bottom:8px;color:var(--fg-mute);font-family:var(--mono);font-size:12px;line-height:1.5}.lab-meta .sep{color:var(--border);margin:0 6px}.lab-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.lab-tag{border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--fg-dim);padding:3px 8px;font-family:var(--mono);font-size:11px;font-weight:600;line-height:1.4}.lab-summary{max-width:820px;margin-top:8px;color:var(--fg-dim);font-size:14px;line-height:1.7;overflow-wrap:break-word;word-break:keep-all}.lab-empty,.lab-loading,.lab-error{border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--fg-mute);padding:40px 0;font-size:14px;text-align:left}.lab-back{display:inline-block;color:var(--fg-dim);font-family:var(--mono);font-size:13px;text-decoration:none}.lab-back:hover{color:var(--fg)}.lab-foot{width:min(calc(100% - 48px),1120px);margin:56px auto 0;border-top:1px solid var(--border);padding:32px 0 64px;color:var(--fg-dim);font-family:var(--mono);font-size:12px}.lab-foot a{color:var(--fg);text-decoration:none}.lab-foot a:hover{text-decoration:underline;text-underline-offset:.18em}.lab-foot .biz{display:flex;flex-direction:column;gap:4px;margin-top:16px}.lab-foot .copy{margin-top:16px}@media(max-width:720px){.lab-page{gap:48px}.lab-main,.lab-nav-inner,.lab-foot{width:min(calc(100% - 32px),1120px)}.lab-hero{padding:8px 0 32px}.lab-hero .logo{font-size:38px}.lab-hero .intro{font-size:16px}.lab-stats{grid-template-columns:1fr}.lab-stat{border-right:0}.lab-card-head{flex-direction:column;gap:8px}.lab-card-title{font-size:17px}}
