.project-list{display:flex;flex-direction:column}.project-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--ds-hairline);text-decoration:none;color:var(--ds-ink)}.project-row:last-child{border-bottom:none}.project-num{flex:0 0 30px;height:30px;border-radius:8px;background:var(--ds-raised);color:var(--ds-ink-2);font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center}.project-body{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.project-body strong{font-weight:600;font-size:14px}.project-meta{color:var(--ds-ink-2);font-size:12px}.project-done{color:var(--ds-teal);font-size:12px;font-weight:600}.project-go{color:var(--ds-teal);font-size:13px;font-weight:600}.checklist{display:flex;flex-direction:column;gap:4px;margin:8px 0}.check-item{display:flex;align-items:flex-start;gap:10px;text-align:left;background:none;border:none;padding:8px 0;font:inherit;font-size:14px;color:var(--ds-ink);cursor:pointer;border-bottom:1px solid var(--ds-hairline)}.check-item .check-box{flex:0 0 22px;height:22px;border-radius:6px;border:1.5px solid var(--ds-ink-4);display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;margin-top:1px}.check-item.is-on .check-box{background:var(--ds-teal);border-color:var(--ds-teal)}.check-item.is-on span:last-child{color:var(--ds-ink-2);text-decoration:line-through}.progress-track{height:6px;border-radius:3px;background:var(--ds-raised);margin:4px 0 8px;overflow:hidden}.progress-fill{height:100%;background:var(--ds-teal);border-radius:3px;transition:width .25s ease}.build-controls{display:flex;gap:10px;margin:12px 0;flex-wrap:wrap}.build-controls>*{flex:1 1 140px}.page-gallery{display:flex;flex-direction:column;gap:16px}.page-item{overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid #e3ddd5;border-radius:12px;background:#fff}.page-item img{display:block;width:100%;height:auto;cursor:zoom-in}.page-item img.zoomed{width:auto;max-width:none;cursor:zoom-out}.project-row{padding:16px 0}.project-num{flex-basis:44px;height:44px;font-size:16px;border-radius:12px}.project-body strong{font-size:19px}.project-meta{font-size:14px}.project-done,.project-go{font-size:15px}.check-item{font-size:18px;padding:14px 0;gap:14px}.check-item .check-box{flex-basis:30px;height:30px;font-size:17px;border-radius:8px}.big-step{margin:6px 0 4px}.big-step-text{font-size:26px;line-height:1.4;font-weight:600;margin:6px 0 2px}.build-controls{gap:12px;margin:14px 0}.build-controls>*{flex:1 1 160px;min-height:56px;font-size:18px}.more-box{margin:12px 0;border:1px solid var(--ds-hairline);border-radius:12px;padding:4px 14px}.more-box summary{font-size:17px;font-weight:600;padding:12px 2px;cursor:pointer;color:var(--ds-teal)}.lab-search-input{font-size:18px!important;padding:14px 16px!important}.page-item img{min-width:100%}#root p,#root li,#root div,#root span,#root strong,#root figcaption,#root summary,#root td,#root a{font-size:19px!important;line-height:1.5}#root figcaption,#root .caption{font-size:16px!important}#root .project-num{font-size:16px!important}#root .project-meta{font-size:14px!important}#root button,#root .file-button{font-size:18px!important;min-height:52px}#root h1{font-size:34px!important;line-height:1.2}#root h2{font-size:24px!important;line-height:1.25}

/* mobile sizing patch v2 - overflow fix + collapsible level headers */
#root input{min-width:0}
html,body{overflow-x:clip}
#root .file-group > h2.lvl-head{
  background:var(--ds-teal); color:#fff; font-size:57px!important; font-weight:800;
  padding:26px 18px; border-radius:0; margin:14px -16px 4px; overflow-wrap:break-word;
  display:flex; flex-direction:column; align-items:flex-start; gap:6px;
  cursor:pointer; user-select:none; line-height:1.15;
}
#root .lvl-head .lvl-top{display:flex; width:100%; align-items:center; justify-content:space-between; gap:12px}
#root .lvl-head .lvl-tag{font-size:min(30px,7vw)!important; font-weight:600; opacity:.85; letter-spacing:.02em}
#root .lvl-head .lvl-chev{font-size:32px!important; flex:0 0 auto; line-height:1}
#root .lvl-head .lvl-name{font-size:min(72px,calc(16vw - 6px))!important; hyphens:auto; word-break:break-word; font-weight:800; line-height:1.12}
#root .lvl-head .lvl-count{font-size:24px!important; font-weight:600; opacity:.85}
.lvl-body{display:flex; flex-direction:column; gap:8px}
.lvl-body.collapsed{display:none}
