.cookbook{max-width:1600px;margin:0 auto}.cookbook .cb-head h1{margin-bottom:4px}.cookbook .cb-lede{margin:0 0 12px;color:var(--muted);max-width:70ch}.cookbook .cb-bar{position:sticky;top:0;z-index:5;background:var(--bg);display:grid;gap:8px;padding:8px 0 10px;margin-bottom:12px;border-bottom:1px solid var(--line)}.cookbook .cb-models{display:flex;gap:6px;flex-wrap:wrap}.cookbook .cb-models button{flex:1 1 0;min-width:72px;min-height:44px;font-size:15px;background:var(--surface);color:var(--ink);border:1px solid var(--line)}.cookbook .cb-models button[aria-pressed=true]{background:var(--teal);color:var(--bg);border-color:var(--teal)}.cookbook .cb-search{width:100%;min-height:44px;font:inherit;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}.cookbook .cb-chips{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.cookbook .cb-chips a{flex:none;display:inline-flex;gap:6px;align-items:center;min-height:36px;padding:4px 12px;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink);text-decoration:none;font-weight:600;font-size:14px}.cookbook .cb-chips a span{font:500 12px var(--f-mono);color:var(--muted)}.cookbook .cb-chips a.cb-none{opacity:.4}@media(min-width:900px){.cookbook .cb-bar{grid-template-columns:auto minmax(220px,1fr);align-items:center}.cookbook .cb-models button{flex:none}.cookbook .cb-chips{grid-column:1 / -1}}.cookbook .cb-map{margin:0 0 18px;background:var(--surface);border:1px solid var(--line);border-radius:10px}.cookbook .cb-map summary{cursor:pointer;padding:10px 14px;font-weight:600;min-height:44px}.cookbook .cb-map-scroll{overflow-x:auto;border-top:1px solid var(--line)}.cookbook .cb-map table{border-collapse:collapse;width:100%;min-width:720px;font-size:13px}.cookbook .cb-map th,.cookbook .cb-map td{border:1px solid var(--line);padding:6px 8px;vertical-align:top;text-align:left}.cookbook .cb-map thead th{font:500 11px var(--f-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--bg)}.cookbook .cb-map thead th b{display:block;font:800 15px var(--f-display);color:var(--ink);text-transform:none;letter-spacing:0}.cookbook .cb-map tbody th{white-space:nowrap;border-left:4px solid var(--wood)}.cookbook .cb-map tbody th a{color:var(--ink);text-decoration:none}.cookbook .cb-map td a{display:block;padding:3px 4px;margin:0 -4px;border-radius:4px;color:var(--ink);text-decoration:none}.cookbook .cb-map td a:hover{background:var(--bg)}.cookbook .cb-map td.cb-map-row a{display:inline-block;margin-right:10px}.cookbook .cb-map-id{font:500 11px var(--f-mono);color:var(--wood)}.cookbook .cb-count{color:var(--muted)}.cookbook .cb-stream{scroll-margin-top:180px;margin-bottom:28px}.cookbook .cb-stream>h2{font-size:24px;font-weight:800;margin:0;padding-top:6px;border-top:3px solid var(--wood)}.cookbook .cb-flow{margin:2px 0 12px;color:var(--muted);font-size:14px}.cookbook .cb-grid{display:grid;gap:12px;grid-template-columns:1fr;align-items:start}@media(min-width:1000px){.cookbook .cb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1700px){.cookbook .cb-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.recipe-card.rc-page{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--wood);border-radius:10px;padding:12px 14px 10px;min-width:0;scroll-margin-top:180px}.recipe-card .rc-head{display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline}.recipe-card .rc-id{font:500 13px var(--f-mono);color:var(--wood)}.recipe-card .rc-name{flex:1 1 auto;margin:0;font:800 20px/1.2 var(--f-display)}.recipe-card .rc-head .edit-link{margin-left:auto}.recipe-card .rc-meta{margin:2px 0 8px;color:var(--muted);font-size:14px}.recipe-card .rc-k{display:inline-block;min-width:3.4em;margin-right:4px;font:600 11px var(--f-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.recipe-card .rc-io{margin:0 0 10px;padding:8px 10px;background:var(--bg);border-radius:8px}.recipe-card .rc-arrow{color:var(--wood);font-weight:700;margin:0 4px}.recipe-card .rc-photo{margin:0 0 10px}.recipe-card .rc-photo img{display:block;width:100%;max-height:360px;object-fit:cover;border-radius:8px;background:var(--bg)}.recipe-card .rc-photo figcaption{font-size:13px;color:var(--muted);margin-top:4px}.recipe-card .rc-check{margin:0 0 10px;padding-left:10px;border-left:3px solid var(--done)}.recipe-card .rc-check p{margin:0 0 2px}.recipe-card .rc-steps{margin:0 0 10px}.recipe-card .rc-steps ol{margin:0;padding-left:1.6em}.recipe-card .rc-steps li{margin:0 0 5px;padding-left:2px}.recipe-card .rc-steps li::marker{font-weight:700;color:var(--wood)}.recipe-card .rc-sub{margin:8px 0 4px;font-weight:700}.recipe-card .rc-tip{margin:0 0 10px;padding:8px 10px;border-radius:8px;background:var(--bg);color:var(--ink)}.recipe-card .rc-tip .rc-k{color:var(--wood)}.recipe-card .rc-more{border-top:1px dashed var(--line);padding-top:6px}.recipe-card .rc-more summary{cursor:pointer;color:var(--muted);font-size:14px;min-height:32px;padding-top:4px}.recipe-card .rc-more dl{display:grid;gap:6px;margin:6px 0 4px}.recipe-card .rc-more dl>div{display:grid;grid-template-columns:1fr;gap:0}.recipe-card .rc-more dt{font:600 11px var(--f-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.recipe-card .rc-more dd{margin:0}@media(min-width:600px){.recipe-card .rc-more dl>div{grid-template-columns:130px 1fr;gap:10px}}dialog.recipe-card.rc-dialog{width:min(640px,calc(100vw - 16px));max-height:calc(100dvh - 16px);padding:14px 16px 12px}.recipe-card .rc-model{margin:0 0 2px;font:600 12px var(--f-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.recipe-card .rc-name:is(h2){font-size:22px}.recipe-card .rc-close{margin-top:8px;width:100%;min-height:44px}.today-head{display:grid;gap:12px;margin-bottom:16px}.today-head h1{margin:0}.today-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin-bottom:16px}.today-stat{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 12px}.today-stat b{display:block;font:800 22px var(--f-display);font-variant-numeric:tabular-nums}.today-stat span{display:block;font-size:12px;line-height:1.3;color:var(--muted)}.today-stat.late{border-color:var(--late)}.today-stat.late b{color:var(--late)}.today h2 .muted,.week h2 .muted{font:400 13px var(--f-body);color:var(--muted);margin-left:6px}.today-behind{border-left:4px solid var(--late);padding-left:10px;margin-bottom:20px}.today-count{margin-top:8px}.today-groups{display:grid;gap:18px}.today-group h3{font:600 15px var(--f-display);margin:0 0 8px;display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}.kind-label{font:500 12px var(--f-body);border-radius:999px;padding:1px 8px;border:1px solid var(--line);color:var(--muted)}.kind-label.kind-stock{border-color:var(--wood);color:var(--wood)}.kind-label.kind-build{border-color:var(--teal);color:var(--teal)}.tk-list{display:grid;gap:8px}.tk{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-width:0;overflow-wrap:anywhere}.tk-top{display:flex;gap:10px;align-items:flex-start}.tk-check{width:22px;height:22px;margin:1px 0 0;flex:none;accent-color:var(--done)}.tk-dot{width:16px;height:16px;margin-top:4px;border-radius:50%;border:2px solid var(--ink);flex:none}.tk-isdone .tk-dot{background:var(--done);border-color:var(--done)}.tk-behind .tk-dot{background:var(--late);border-color:var(--late)}.tk-title{flex:1;min-width:0}.tk-task{font-weight:600}.tk-isdone .tk-task{color:var(--muted);text-decoration:line-through}.tk-tag{display:inline-block;font:600 11px var(--f-body);text-transform:uppercase;letter-spacing:.04em;border-radius:6px;padding:1px 6px;margin-left:6px;border:1px solid currentColor;white-space:nowrap}.tk-tag-behind{color:var(--late)}.tk-tag-extra{color:var(--teal)}.tk-tag-donelate{color:var(--wait)}.tk-tag-done{color:var(--done)}.tk-tag-wait{color:var(--wait);text-transform:none;letter-spacing:0;white-space:normal}.tk-meta{font-size:13px;color:var(--muted);margin-top:4px}.tk-meta a{color:var(--teal)}.tk-line{font-size:13px;margin-top:4px}.tk-how{display:grid;gap:3px;margin:8px 0 0;padding:8px 10px;background:var(--bg);border-radius:8px;font-size:13px}.tk-how>div{display:grid;grid-template-columns:64px 1fr;gap:8px}.tk-how dt{font:600 11px var(--f-mono);text-transform:uppercase;color:var(--muted);padding-top:2px}.tk-how dd{margin:0}.tk-minutes{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px;font-size:13px}.tk-minutes input{width:90px;font:inherit;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}.tk-minutes small{color:var(--muted);flex-basis:100%}.tk-buttons{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:8px;font-size:13px}.tk-buttons button{padding:5px 10px;font-size:13px}.tk-drawing{color:var(--muted)}.tk-add{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-top:24px}.tk-add-grid{display:grid;gap:10px;grid-template-columns:1fr 1fr}.tk-add label{display:grid;gap:3px;font-size:12px;color:var(--muted);min-width:0}.tk-add input,.tk-add select{font:15px var(--f-body);padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);width:100%;min-width:0}.tk-add-task{grid-column:1 / -1}.tk-add-foot{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px;font-size:13px}@media(min-width:720px){.tk-add-grid{grid-template-columns:150px 2fr 1fr 90px 1.4fr 1fr}.tk-add-task{grid-column:auto}}.tk-key{font-size:12px;color:var(--muted);margin-top:16px;line-height:2}.tk-key .tk-tag{margin-left:0}@media(min-width:900px){.today-groups{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.today.tv{font-size:22px}.today.tv h1{font-size:44px}.today.tv h2{font-size:28px}.today.tv .today-group h3{font-size:24px}.today.tv .today-stat b{font-size:40px}.today.tv .today-stat span{font-size:16px}.today.tv .tk-meta,.today.tv .tk-line,.today.tv .tk-how{font-size:18px}.today.tv .tk-tag{font-size:15px}.today.tv .tk-dot{width:22px;height:22px}.today.tv .tk-how>div{grid-template-columns:100px 1fr}.today.tv .tk-how dt{font-size:14px}@media(min-width:900px){.today.tv .today-groups{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}}.today-review{background:var(--surface);border-left:3px solid var(--wait);padding:8px 12px;border-radius:6px}.today-review a{color:var(--teal);font-weight:600}.buying h2{margin-top:28px;margin-bottom:4px}.buying h3{font:600 15px var(--f-display);margin:14px 0 6px}.buying .small{font-size:13px;margin:0 0 10px;max-width:75ch}.buying .small-line{display:block;font-size:12px}.buying .buying-group{margin-bottom:8px}.buying .buying-sub{color:var(--late)}.buying .buying-toggle{display:flex;gap:6px;margin:4px 0 10px}.buying table{min-width:600px}.buying td.num{font-variant-numeric:tabular-nums;white-space:nowrap}.buying td.when{white-space:nowrap;font-weight:600}.buying .flag{display:block;font:700 11px var(--f-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--late)}.buying tr.late td.when{color:var(--late)}.buying tr.late td:first-child{box-shadow:inset 4px 0 0 var(--late)}.buying td a{color:var(--ink);font-weight:600}.buying .buying-week td.who{font-weight:600;white-space:nowrap}.buying .buying-week th.today,.buying .buying-week td.today{background:color-mix(in srgb,var(--wood) 12%,transparent)}.buying .buying-week .d-away{color:var(--late);font-weight:600}.buying .buying-week .d-off,.buying .buying-week .d-gone{color:var(--muted)}.buying .buying-week .d-hours,.buying .buying-week .d-any{color:var(--done)}@media(max-width:600px){.buying .stats{width:100%}.buying .stat{flex:1;min-width:0}}.myday{max-width:720px;margin:0 auto;font-size:18px;line-height:1.45}.myday .myday-head{margin-bottom:16px}.myday .myday-head h1{font-size:30px;margin:0}.myday .myday-date{margin:2px 0 0;color:var(--muted);font-size:17px}.myday .myday-notice{border:2px solid var(--wait);border-radius:10px;padding:12px 14px;font-weight:600;background:var(--surface)}.myday .myday-error{color:var(--late);font-weight:600}.myday .myday-empty{color:var(--muted)}.myday .myday-hint{color:var(--muted);font-size:16px;margin:10px 0 0}.myday .myday-sec{margin:0 0 28px}.myday .myday-sec>h2{font-size:24px;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}.myday .myday-count{font:400 16px var(--f-body);color:var(--muted)}.myday .myday-late{border-left:6px solid var(--late);padding-left:12px}.myday .myday-late>h2{color:var(--late)}.myday .myday-list{display:grid;gap:12px}.myday .myday-card{background:var(--surface);border:2px solid var(--line);border-radius:14px;padding:16px;overflow-wrap:anywhere}.myday .myday-card.is-late{border-color:var(--late)}.myday .myday-card.is-done{border-color:var(--done)}.myday .myday-card.is-done .myday-card-title{color:var(--muted)}.myday .myday-card-title{font:800 24px/1.2 var(--f-display);margin:0}.myday .myday-card-id{font:14px var(--f-mono);color:var(--muted);margin:4px 0 0}.myday .myday-card-when{color:var(--late)}.myday .myday-card-wait{margin:10px 0 0;font-weight:700;color:var(--wait)}.myday .myday-card-how{margin:12px 0 0;display:grid;gap:8px}.myday .myday-card-how>div{display:grid;grid-template-columns:70px 1fr;gap:10px}.myday .myday-card-how dt{font-weight:700;color:var(--wood)}.myday .myday-card-how dd{margin:0}.myday .myday-card-steps{margin:12px 0 0;padding-left:26px;display:grid;gap:4px}.myday .myday-card-more{list-style:none;margin-left:-26px;color:var(--muted);font-size:16px}.myday .myday-card-note,.myday .myday-card-longnote{margin:12px 0 0;color:var(--muted);font-size:16px}.myday .myday-card-longnote summary{min-height:48px;display:flex;align-items:center;cursor:pointer;font-weight:600}.myday .myday-card-longnote p{margin:0;white-space:pre-wrap}.myday .myday-card-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:16px}.myday .myday-card-donemark{font:800 20px var(--f-display);color:var(--done);min-height:48px;display:inline-flex;align-items:center}.myday .myday-card-donemark:before{content:"✓";margin-right:6px}.myday .myday-btn{min-height:48px;min-width:120px;padding:10px 18px;font:700 18px var(--f-body);border-radius:10px}.myday .myday-btn-done{flex:1 1 160px;min-height:56px;font-size:20px;background:var(--done);border-color:var(--done);color:var(--surface)}.myday .myday-btn-quiet{background:transparent;color:var(--ink);border:2px solid var(--line)}.myday .myday-btn:disabled{opacity:.6;cursor:default}.myday .myday-fold{margin:0 0 16px;border:2px solid var(--line);border-radius:14px;background:var(--surface);padding:0 16px}.myday .myday-fold>summary{min-height:56px;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;cursor:pointer;font:700 21px var(--f-display)}.myday .myday-fold[open]>summary{border-bottom:1px solid var(--line);margin-bottom:12px}.myday .myday-fold>:last-child{margin-bottom:16px}.myday .myday-make{list-style:none;margin:0;padding:0;display:grid;gap:12px}.myday .myday-make-item{border-left:6px solid var(--wood);padding-left:12px}.myday .myday-make-line{margin:0 0 8px;font-weight:700}.myday .myday-coming{list-style:none;margin:0;padding:0;display:grid;gap:10px}.myday .myday-coming b{display:block;color:var(--muted);font-size:15px}.myday .myday-guide{font-size:18px;margin-top:20px;color:var(--muted)}.myday .myday-guide a{display:inline-flex;align-items:center;min-height:48px;font-weight:700;color:var(--teal)}.myday .myday-card-photo{display:block;width:100%;max-height:260px;object-fit:cover;border-radius:10px;margin:-4px 0 12px}.myday .myday-rows{display:grid;gap:8px}.myday .myday-row{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px 10px}.myday .myday-row.is-done{opacity:.6}.myday .myday-row-title{flex:1;text-align:left;background:none;border:0;color:var(--ink);font:600 17px var(--f-body);padding:6px 2px;cursor:pointer}.myday .myday-row-title:disabled{cursor:default}.myday .myday-row .myday-btn{flex:none}.myday .myday-week{list-style:none;margin:0;padding:0;display:grid;gap:6px}.myday .myday-week li{display:grid;grid-template-columns:76px 1fr auto;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--line);font-size:16px}.myday .myday-week li:first-child{border-top:0}.myday .myday-week em{font:600 12px var(--f-mono);font-style:normal;text-transform:uppercase;color:var(--muted)}.sp{--c0: #2f7d6b;--c1: #a86a2e;--c2: #4f6fb0;--c3: #9a4f86;--c4: #6b8f2f;--c5: #b5452b;max-width:1100px}@media(prefers-color-scheme:dark){.sp{--c0: #5fbfa7;--c1: #d9a066;--c2: #8aa6e0;--c3: #cf8dbd;--c4: #a8c96a;--c5: #e58a72}}.c0{background:var(--c0)}.c1{background:var(--c1)}.c2{background:var(--c2)}.c3{background:var(--c3)}.c4{background:var(--c4)}.c5{background:var(--c5)}.cx{background:var(--muted)}.sw{flex:none;width:12px;height:12px;border-radius:3px;display:inline-block}.sp-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.sp-today{font:600 14px var(--f-mono);color:var(--muted);text-transform:uppercase}.sp-decide{border:2px solid var(--late);border-radius:12px;padding:10px 14px;margin-bottom:14px;background:var(--surface)}.sp-decide h2{margin:0 0 6px;font-size:18px;color:var(--late)}.sp-decide ul{list-style:none;margin:0;padding:0}.sp-decide li{display:grid;grid-template-columns:12px 1fr;column-gap:8px;padding:5px 0;font-size:15px;line-height:1.35}.sp-decide li .sw{margin-top:5px}.sp-decide li>span:first-child,.sp-decide li>b:first-child{grid-column:1 / -1}.sp-decide li>span,.sp-decide li>b{grid-column:2}.sp-decide li b{font-weight:600;color:var(--late)}.sp-tl{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px 8px;margin-bottom:14px}.sp-tl-rows{position:relative}.sp-tour{position:absolute;top:-4px;bottom:0;background:color-mix(in srgb,var(--wood) 14%,transparent);border-radius:4px;pointer-events:none}.sp-tour span{position:absolute;top:-16px;left:0;font:600 10px var(--f-mono);color:var(--wood);text-transform:uppercase;white-space:nowrap}.sp-tl{padding-top:22px}.sp-tour-key{display:inline-block;width:12px;height:10px;border-radius:2px;background:color-mix(in srgb,var(--wood) 30%,transparent);margin-right:4px}.sp-tl-row{position:relative;display:grid;grid-template-columns:minmax(90px,28%) 1fr 52px;align-items:center;gap:8px;padding:9px 0;color:var(--ink);text-decoration:none}.sp-tl-name{font-weight:600;font-size:14px;line-height:1.2}.sp-tl-track{position:relative;height:14px}.sp-bar{position:absolute;left:0;top:0;bottom:0;border-radius:7px;min-width:6px}.sp-due{position:absolute;top:-4px;width:4px;height:22px;margin-left:-2px;border-radius:2px;background:var(--ink);display:inline-block}.sp-key .sp-due{position:static;height:12px;margin:0 4px -1px 0;vertical-align:baseline}.sp-tl-when{font:600 13px var(--f-mono);text-align:right;color:var(--done)}.sp-tl-row.late .sp-tl-when{color:var(--late)}.sp-key{margin:4px 0 0;font-size:12px;color:var(--muted)}.sp-week h2{font-size:18px;margin:0 0 8px}.sp-week h2 .muted{font:400 13px var(--f-body);margin-left:6px}.sp-cards{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:start}.sp-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 14px}.sp-card h3{margin:0 0 6px;font:800 20px var(--f-display)}.sp-card ol{list-style:none;margin:0;padding:0}.sp-card li{display:grid;grid-template-columns:12px 1fr;column-gap:8px;padding:7px 0;border-top:1px solid var(--line)}.sp-card li:first-child{border-top:0}.sp-card li .sw{margin-top:5px}.sp-card li a{color:var(--ink);text-decoration:none;display:flex;flex-direction:column}.sp-card li a b{font-size:16px}.sp-card li a span{font-size:13px;color:var(--muted)}.sp-card li.with{opacity:.6}.sp-days{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:3px}.sp-days em{font:600 11px var(--f-mono);font-style:normal;text-transform:uppercase;padding:1px 6px;border-radius:999px;border:1px solid var(--line)}.sp-days em.today{border-color:var(--teal);background:var(--teal);color:var(--bg)}.sp-days small{font-size:12px;color:var(--muted);margin-left:4px}.sp-next{margin-top:14px}.sp-next summary{font:800 18px var(--f-display);cursor:pointer;margin-bottom:8px}.production{display:grid;gap:16px;min-width:0}.production .board-head{margin-bottom:0}.production .prod-sub{margin:-6px 0 0;font-size:14px}.production .stats{flex-wrap:wrap}.production h2{margin:0}.production h3{font:600 13px var(--f-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:14px 0 6px}.production .prod-panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;min-width:0}.production .prod-head{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;justify-content:space-between;margin-bottom:6px}.production .prod-head a,.production .prod-links a{color:var(--teal);font-size:14px}.production .prod-links{display:flex;gap:12px}.production .prod-note{margin:0 0 8px;font-size:14px}.production .prod-small{font-size:12px;margin:8px 0 0}.production .prod-scroll{overflow-x:auto}.production .prod-lots .lotplan-scroll{background:var(--bg)}.production .prod-lots .lotplan tr.lotplan-step th{background:var(--surface)}.production .prod-legend{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;font-size:12px;color:var(--muted)}.production .prod-legend i{display:inline-block;width:14px;height:10px;border-radius:2px;margin-right:-4px}.production .prod-legend .lg-stock{background:var(--wood)}.production .prod-legend .lg-build{background:var(--teal)}.production .prod-legend .lg-buy{background:var(--wait)}.production .prod-legend .lg-target{width:2px;height:14px;background:var(--ink);border-radius:0}.production .prod-legend .lg-ready{width:10px;height:10px;background:var(--done);transform:rotate(45deg)}.production .prod-tl{display:grid;gap:0}.production .prod-tl-row{display:grid;grid-template-columns:1fr;gap:6px;padding:10px 0;border-top:1px solid var(--line);min-width:0}.production .prod-tl-axis{display:none}.production .prod-build{display:grid;gap:1px;color:var(--ink);text-decoration:none;font-size:14px;min-width:0}.production .prod-build b{font:700 17px var(--f-display)}.production .prod-build:hover b{text-decoration:underline}.production .prod-slip{font-weight:700}.production .prod-slip.t-late{color:var(--late)}.production .prod-slip.t-tight{color:var(--wait)}.production .prod-slip.t-ok{color:var(--done)}.production .prod-slip.t-none{color:var(--muted);font-weight:400}.production .prod-track{position:relative;height:34px;min-width:0}.production .prod-gridline{position:absolute;top:0;bottom:0;width:1px;background:var(--line)}.production .prod-past{position:absolute;top:13px;height:8px;border-radius:4px 0 0 4px;background:var(--line)}.production .prod-seg{position:absolute;top:8px;height:18px;border-radius:3px;box-shadow:inset -1px 0 0 var(--surface)}.production .prod-seg.a-stock{background:var(--wood)}.production .prod-seg.a-build{background:var(--teal)}.production .prod-seg.a-buy{background:var(--wait)}.production .prod-seg.prog{opacity:.7}.production .prod-todayline{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:var(--late);opacity:.6}.production .prod-target{position:absolute;top:0;bottom:0;width:3px;margin-left:-1px;background:var(--ink)}.production .prod-ready{position:absolute;top:10px;width:14px;height:14px;margin-left:-7px;transform:rotate(45deg);background:var(--done);border:2px solid var(--surface)}.production .prod-ready.t-late{background:var(--late)}.production .prod-ready.t-tight{background:var(--wait)}.production .prod-ready.t-none{background:var(--muted)}.production .prod-blocking{list-style:none;margin:0;padding:0;display:grid;gap:2px;font-size:14px;min-width:0}.production .prod-blocking li{overflow-wrap:anywhere}.production .prod-blocking li:first-child{font-weight:600}.production .prod-tl-row.t-late .prod-blocking li:first-child{color:var(--late)}.production .prod-tick,.production .prod-today-label{position:absolute;top:0;transform:translate(-50%);font:500 12px var(--f-mono);color:var(--muted);white-space:nowrap}.production .prod-today-label{color:var(--late);top:16px}.production .prod-grid{display:grid;gap:16px;min-width:0}.production .prod-aside{display:grid;gap:16px;align-content:start;min-width:0}.production table.prod-cap{min-width:560px;font-size:13px}.production .prod-cap th,.production .prod-cap td{padding:6px 8px}.production .prod-cap tbody th{font:600 14px var(--f-body);text-transform:none;letter-spacing:0;color:var(--ink);white-space:nowrap}.production .prod-cap .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.production .prod-cap .is-today{background:var(--bg)}.production .prod-cap td.past{color:var(--muted)}.production .prod-cap td.over{color:var(--late);font-weight:700}.production .prod-cap tr.over th{color:var(--late)}.production .prod-hours{display:block;white-space:nowrap;font-variant-numeric:tabular-nums}.production .prod-off{display:block;font-size:12px;color:var(--muted)}.production .prod-meter{display:block;height:4px;margin-top:3px;background:var(--line);border-radius:2px;overflow:hidden}.production .prod-meter span{display:block;height:100%;background:var(--done)}.production td.over .prod-meter span{background:var(--late)}.production td.past .prod-meter span{background:var(--muted)}.production .prod-decide h3:first-of-type{margin-top:4px}.production .prod-items{list-style:none;margin:0;padding:0;display:grid;gap:6px}.production .prod-items:empty{display:none}.production .prod-items li{padding:6px 0 6px 10px;border-left:3px solid var(--line);font-size:14px;overflow-wrap:anywhere}.production .prod-decide ul:nth-of-type(1) li{border-left-color:var(--wait)}.production .prod-items li a{color:var(--ink);font-weight:700}.production .prod-meta{display:block;font-size:12px;color:var(--muted)}@media(min-width:900px){.production .prod-tl-row{grid-template-columns:240px minmax(0,1fr) minmax(220px,300px);gap:16px;align-items:center}.production .prod-tl-axis{display:grid;border-top:0;padding:0 0 2px}.production .prod-tl-axis .prod-track{height:34px}}@media(min-width:1440px){.production .prod-tl-row{grid-template-columns:280px minmax(0,1fr) 380px}.production .prod-grid{grid-template-columns:minmax(0,1fr) minmax(520px,.55fr);align-items:start}}@media(min-width:2000px){.production .prod-tl-row{grid-template-columns:300px minmax(0,1fr) 460px}.production .prod-track{height:40px}.production .prod-seg{top:9px;height:22px}.production .prod-ready{top:12px;width:16px;height:16px;margin-left:-8px}}.production .prod-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));align-items:start;margin-top:16px}.production .prod-items{margin:0;padding-left:20px;display:grid;gap:10px;font-size:16px}.production .prod-items b{font-weight:600}.production .prod-kind{font:600 12px var(--f-mono);text-transform:uppercase;color:var(--wood);margin-right:4px}.production .prod-capline{margin-top:16px;color:var(--late)}.production .prod-capline a{color:var(--teal)}.queue header{margin-bottom:12px}.queue header p{margin:0 0 6px;font-size:14px}.queue-quarter{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:12px}.queue-quarter.is-now{border-color:var(--teal)}.queue-quarter.is-late{border-color:var(--late)}.queue-quarter h2{margin:0 0 2px;display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}.queue-quarter>p{margin:0 0 8px;font-size:13px}.queue-tag{font:600 11px var(--f-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--teal)}.queue-tag.late{color:var(--late)}.queue-models,.queue-orders{list-style:none;margin:0;padding:0}.queue-model{border-top:1px solid var(--line);padding:8px 0}.queue-count b{font:700 18px var(--f-display)}.queue-orders{font-size:14px;padding-left:4px}.queue-orders li{padding:2px 0}.chart-scroll,.bars,.chart-legend{--buy: color-mix(in srgb, var(--teal) 55%, var(--muted));--vendor: var(--wait);--todo: var(--bg);--today: var(--late);--pn: var(--teal);--jig: var(--wood)}.chart-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;max-width:100%;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:10px}.chart{display:block;font-family:var(--f-body)}.chart text{fill:var(--ink)}.chart .lane line{stroke:var(--ink);stroke-opacity:.2;stroke-width:1.5}.chart .lane text,.chart .lane-name,.chart .col-name{font:700 15px var(--f-display);fill:var(--ink)}.chart .band rect{fill:var(--muted);fill-opacity:.07}.chart .band.ph1 rect,.chart .band.ph2 rect{fill:var(--wood);fill-opacity:.09}.chart .band.ph3 rect,.chart .band.ph4 rect{fill:var(--teal);fill-opacity:.08}.chart .band text,.chart .ph-note{font:600 11.5px var(--f-mono);fill:var(--muted)}.chart .area line{stroke-width:3;stroke-linecap:round}.chart .area text{font:700 13px var(--f-display)}.chart .area-stock line{stroke:var(--wood)}.chart .area-stock text{fill:var(--wood)}.chart .area-build line{stroke:var(--teal)}.chart .area-build text{fill:var(--teal)}.chart .edge{fill:none;stroke:var(--muted);stroke-width:1.2;opacity:.3}.chart .edge.same{opacity:.55}.chart .link{fill:none;stroke:var(--ink);stroke-opacity:.45;stroke-width:1.5}.chart .blk{cursor:pointer;outline:none}.chart .blk:focus-visible .b,.chart .blk:focus-visible .bar,.chart .blk.sel .b,.chart .blk.sel .bar{stroke:var(--ink);stroke-width:3}.chart .b,.chart .bar{stroke-width:1.5}.chart .k-studio{fill:var(--wood)}.chart .k-vendor{fill:var(--vendor)}.chart .k-buy{fill:var(--buy)}.chart .b.s-done,.chart .bar.s-done{fill:var(--done)}.chart .b.s-skip{fill:url(#skipPat)}.chart .skip-a{fill:var(--done)}.chart .skip-b{fill:var(--surface);opacity:.35}.chart .b.s-todo,.chart .b.s-prog,.chart .b.s-q{fill:var(--todo)}.chart .b.k-studio.s-todo,.chart .b.k-studio.s-prog{stroke:var(--wood)}.chart .b.k-vendor.s-todo,.chart .b.k-vendor.s-prog{stroke:var(--vendor)}.chart .b.k-buy.s-todo,.chart .b.k-buy.s-prog{stroke:var(--buy)}.chart .b.s-q{stroke:var(--muted);stroke-dasharray:5 4}.chart .t{fill:var(--surface)}.chart .t.s-todo,.chart .t.s-prog,.chart .t.s-q{fill:var(--ink)}.chart .prog-bar,.chart .bar.s-prog{fill:var(--vendor)}.chart .bar.s-todo{opacity:.45}.chart .bar.approx{stroke:var(--ink);stroke-dasharray:3 3}.chart .bar-label{font:700 11.5px var(--f-body)}.chart .muted-t{font-weight:500;fill:var(--muted)}.chart .chip text{font:600 11px var(--f-mono)}.chart .pn-chip rect{fill:var(--surface);stroke:var(--pn)}.chart .pn-chip text{fill:var(--pn)}.chart .jig-chip path{fill:var(--surface);stroke:var(--jig)}.chart .jig-chip circle{fill:var(--jig)}.chart .jig-chip text{fill:var(--jig);font-weight:500}.chart .today polyline{fill:none;stroke:var(--today);stroke-width:3;stroke-linejoin:round;opacity:.9}.chart .today text{font:700 13px var(--f-body);fill:var(--today)}.bars{display:flex;align-items:flex-start;min-width:0}.bars .bars-lanes{flex:none;background:var(--surface);border:1px solid var(--line);border-right:none;border-radius:10px 0 0 10px}.bars .chart-scroll{flex:1;border-radius:0 10px 10px 0}.chart .stripe{fill:var(--bg);opacity:.7}.chart .weekend{fill:var(--line);opacity:.35}.chart .tick line{stroke:var(--line)}.chart .tick text{font:10.5px var(--f-mono);fill:var(--muted)}.chart .pill rect{fill:var(--surface);stroke:var(--line)}.chart .pill.ph1 rect,.chart .pill.ph2 rect{fill:color-mix(in srgb,var(--wood) 18%,var(--surface))}.chart .pill.ph3 rect,.chart .pill.ph4 rect{fill:color-mix(in srgb,var(--teal) 15%,var(--surface))}.chart .pill text{font:600 11px var(--f-body)}.chart .marker line{stroke-width:2.5}.chart .marker.dashed line{stroke-width:1.5;stroke-dasharray:5 4}.chart .marker text{font:700 11.5px var(--f-body)}.chart .marker.band rect{opacity:.16}.chart .m-today line{stroke:var(--today)}.chart .m-today text{fill:var(--today)}.chart .m-ink line{stroke:var(--ink)}.chart .m-ink text{fill:var(--ink)}.chart .m-buy line{stroke:var(--buy)}.chart .m-buy text,.chart .m-buy rect{fill:var(--buy)}.chart .piece circle{fill:var(--bg);stroke:var(--ink)}.chart .piece text{font:700 9.5px var(--f-body)}.chart-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--muted);margin:8px 0 0}.chart-legend span{display:inline-flex;align-items:center;gap:6px}.chart-legend .sw{display:inline-block;width:16px;height:12px;border-radius:3px;background:var(--todo);border:1px solid var(--line)}.chart-legend .k-studio{background:var(--wood)}.chart-legend .k-vendor{background:var(--vendor)}.chart-legend .k-buy{background:var(--buy)}.chart-legend .pn{background:var(--surface);border-color:var(--pn);border-radius:8px}.chart-legend .jig{background:var(--surface);border-color:var(--jig)}.chart-legend .s-done{background:var(--done);border-color:var(--done)}.chart-legend .s-skip{background:repeating-linear-gradient(45deg,var(--done),var(--done) 3px,var(--surface) 3px,var(--surface) 6px)}.chart-legend .s-todo{border-color:var(--wood)}.chart-legend .s-q{border:1px dashed var(--muted)}.chart-legend .s-prog{background:var(--vendor)}.chart-legend .est{background:var(--wood);opacity:.45}.chart-legend .place{background:var(--buy);opacity:.3}.chart-legend .today{background:var(--today);width:4px}.chart-legend .dot{border-radius:50%;width:12px;border-color:var(--ink)}.chart-toggles{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.chart-toggles button{padding:6px 10px;font-size:13px;background:transparent;color:var(--ink);border-color:var(--line)}.chart-toggles button[aria-pressed=true]{background:var(--teal);color:var(--bg);border-color:var(--teal)}.chart-toggles .sep{width:1px;background:var(--line);margin:0 4px}.build-page{min-width:0}.build-back{margin:0 0 6px;font-size:14px}.build-back a,.build-page a{color:var(--teal)}.build-head{margin-bottom:12px}.build-head h1{margin-bottom:2px}.build-head .muted{font-size:14px}.build-order{margin:4px 0;font-size:14px}.build-stats{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-bottom:14px}.build-stat{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 12px;min-width:0}.build-stat b{display:block;font:800 18px var(--f-display);font-variant-numeric:tabular-nums}.build-stat span{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.build-stat.alert b{color:var(--late)}.build-summary{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}.sum-card{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--muted);border-radius:10px;padding:10px 12px;min-width:0}.sum-card h2{font-size:15px;margin:0 0 6px}.sum-card ul{margin:0;padding-left:18px;font-size:14px;display:grid;gap:6px}.sum-card .impact{font-size:13px}.sum-card .empty{margin:0;font-size:14px}.sum-card.good{border-top-color:var(--done)}.sum-card.prob{border-top-color:var(--wait)}.sum-card.risk{border-top-color:var(--late)}.sum-card.unlock{border-top-color:var(--teal)}.sum-card .auto{margin-left:6px;font:600 10px var(--f-mono);text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:0 4px}.build-page .hint{font-size:13px;margin:6px 0 14px}.build-chart{min-width:0}.step-panel{margin-top:14px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--wood);border-radius:10px;padding:12px 14px}.step-panel-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.step-panel-head h2{margin:0}.step-panel p{margin:4px 0}.step-writes{display:grid;gap:10px;margin-top:10px}.step-writes label,.notes-form label{display:grid;gap:4px;font-size:13px;color:var(--muted)}.step-writes input,.notes-form input,.notes-form textarea{font:inherit;font-size:16px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px 10px;max-width:100%}.step-buttons{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.step-buttons button{min-height:44px}.saved{color:var(--done);font-weight:600}.notes-form{margin-top:20px;display:grid;gap:10px;max-width:560px}.notes-form h2{margin:0}.note-kinds{display:flex;flex-wrap:wrap;gap:6px 14px}.note-kinds label{display:inline-flex;align-items:center;gap:4px;font-size:15px;color:var(--ink)}.notes-form button{justify-self:start;min-height:44px}.build-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.build-list a{display:grid;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 14px;color:var(--ink);text-decoration:none}.build-list a:hover{border-color:var(--teal)}.build-list .muted{font-size:13px}.build-page .late{color:var(--late);font-weight:700}.build-page .spare{color:var(--done)}.cnc-cols{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}.cnc-list{list-style:none;padding:0;margin:0;display:grid;gap:6px}.cnc-list li{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 12px}.cnc-list li.late{border-left:4px solid var(--late)}.cnc-list a{color:var(--teal);font-weight:600}.cnc-list .muted{font-size:13px}.meeting .stat b{font-size:20px;white-space:nowrap}.meeting h2{margin-top:20px}.next-meeting{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--wood);border-radius:10px;padding:10px 12px}.meet-list{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr))}.meet-item{display:flex;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px;min-width:0}.meet-item.s-on-agenda{border-color:var(--wood)}.meet-item.s-decided,.meet-item.s-done,.meet-item.s-parked{opacity:.8}.meet-item .score{flex:none;min-width:44px;font:800 26px var(--f-display);font-variant-numeric:tabular-nums;color:var(--teal);text-align:center}.meet-item .body{flex:1;min-width:0}.meet-item .meta{font:500 12px var(--f-mono);color:var(--muted)}.meet-item .no{opacity:.7}.meet-item .topic{font-weight:600;margin:2px 0 4px;overflow-wrap:anywhere}.meet-item p{margin:4px 0;font-size:14px;overflow-wrap:anywhere}.meet-item .impact{color:var(--done)}.meet-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.meet-actions button{padding:6px 10px;font-size:13px}.meet-closed summary{cursor:pointer;list-style:none}.meet-closed summary h2{display:inline}.meet-closed summary:before{content:"▸ ";color:var(--muted)}.meet-closed[open] summary:before{content:"▾ "}.meet-add{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-top:24px}.meet-add h2,.meet-add .wide{grid-column:1 / -1;margin:0}.meet-add label{display:grid;gap:4px;font-size:13px;font-weight:600}.meet-add input,.meet-add select{font:400 15px var(--f-body);padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);min-width:0}.meet-add .hint{font-size:13px;color:var(--muted)}.meet-add button{justify-self:start;grid-column:1 / -1}.pipe-head{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:end;margin-bottom:8px}.pipe-head .stat span{text-transform:none;letter-spacing:0;font-size:12px}.pipe-intro{margin:0 0 14px;font-size:14px}.pipe-list{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));align-items:start}.pipe-card{display:block;min-width:0;color:var(--ink);text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.pipe-card:hover{border-color:var(--teal)}.pipe-top{display:flex;gap:12px;justify-content:space-between;align-items:start;margin-bottom:8px}.pipe-top h2{margin:0 0 2px}.pipe-top .muted{font-size:13px}.pipe-est{display:grid;justify-items:end;text-align:right;font-size:13px;line-height:1.3;flex:none}.pipe-est b{font:700 15px var(--f-display)}.pipe-est .late{color:var(--late);font-weight:700}.pipe-est .spare{color:var(--done);font-weight:600}.pipe-group{border-top:1px solid var(--line);padding:6px 0 4px}.pipe-group h3{margin:0 0 4px;font:600 11px var(--f-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.pipe-group.area-stock h3{color:var(--wood)}.pipe-group.area-build h3{color:var(--teal)}.pipe-lane{display:grid;grid-template-columns:64px minmax(60px,1fr) minmax(0,1.4fr);gap:8px;align-items:center;font-size:13px;padding:2px 0}.pipe-lane-name{font-weight:600}.pipe-next{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.segs{display:flex;gap:2px;height:12px}.segs i{flex:1;min-width:4px;border-radius:2px;background:var(--bg);border:1px solid var(--line)}.segs i.d{background:var(--done);border-color:var(--done)}.segs i.p{background:var(--wait);border-color:var(--wait)}.segs i.q{background:repeating-linear-gradient(45deg,var(--muted),var(--muted) 2px,transparent 2px,transparent 4px);border-style:dashed;border-color:var(--muted)}.segs i.s{background:repeating-linear-gradient(45deg,var(--done),var(--done) 3px,var(--surface) 3px,var(--surface) 5px);border-color:var(--done)}.pipe-watch{border-top:1px solid var(--line);padding-top:6px;margin-top:4px;font-size:13px;display:grid;gap:2px}.pipe-watch .r{color:var(--late)}.pipe-watch .u{color:var(--teal)}.pipe-cnc-title{margin-top:20px}.pipe-cnc{margin:0;padding-left:18px;font-size:14px}.process-page{min-width:0}.process-stats{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));margin-bottom:8px}.process-stat{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 12px}.process-stat b{display:block;font:800 17px var(--f-display)}.process-stat span{font-size:13px;color:var(--muted)}.process-note{font-size:13px;margin:6px 0 10px}.process-chart{min-width:0}.records .notice{background:var(--surface);border-left:3px solid var(--wait);padding:8px 12px;border-radius:6px}.records .crumb{margin:0 0 4px;font-size:14px}.records .crumb a,.records .table-list a{color:var(--teal)}.records .table-list{list-style:none;padding:0;display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.records .table-list a{display:block;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-weight:600;text-decoration:none}.records .toolbar{display:flex;gap:8px;margin:12px 0}.records .toolbar input{flex:1;min-width:0;font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}.records .rows{list-style:none;padding:0;margin:0;display:grid;gap:4px}.records .row-button{display:grid;gap:2px;width:100%;text-align:left;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-weight:400}.records .row-button.open{border-color:var(--wood)}.records .row-button .muted{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-form{background:var(--surface);border:1px solid var(--wood);border-radius:10px;padding:14px;margin:0 0 14px;display:grid;gap:10px}.record-form h2{margin:0}.record-form label{display:grid;gap:3px}.record-form label>span{font:600 12px var(--f-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.record-form label.check{grid-template-columns:auto 1fr;align-items:center}.record-form label.check input{order:-1;width:20px;height:20px}.record-form input,.record-form select,.record-form textarea{font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);width:100%}.record-form .actions{display:flex;gap:8px;position:sticky;bottom:0;background:var(--surface);padding-top:6px}.record-form button[disabled]{opacity:.5;cursor:default}.review .notice{background:var(--surface);border-left:3px solid var(--wait);padding:8px 12px;border-radius:6px}.review-group{margin-top:18px}.review-group ul{list-style:none;padding:0;margin:0;display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(min(100%,520px),1fr))}.review-item{display:grid;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.review-item .muted{font-size:13px}.review-why{font-size:14px;margin-top:4px;color:var(--wood)}.review-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px}.review-actions button{padding:6px 10px;font-size:13px}.lotplan{display:grid;gap:8px;min-width:0}.lotplan .lotplan-note{margin:0;padding:8px 12px;border:1px solid var(--wait);border-left-width:4px;border-radius:8px;background:var(--surface);font-size:14px}.lotplan .lotplan-bar{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;align-items:center;font-size:14px}.lotplan .lotplan-bar label{display:flex;gap:6px;align-items:center;cursor:pointer}.lotplan .lotplan-key{border-left:4px solid var(--late);padding-left:6px;font-weight:600}.lotplan .lotplan-help{margin:0;font-size:13px;color:var(--muted)}.lotplan .lotplan-groups{display:grid;gap:14px;min-width:0}.lotplan .lotplan-group{min-width:0}.lotplan .lotplan-group h3{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;font:700 16px var(--f-display);margin:0 0 6px;padding-left:8px;border-left:4px solid var(--line)}.lotplan .lotplan-group.w-stock h3{border-left-color:var(--wood)}.lotplan .lotplan-group.w-build h3{border-left-color:var(--teal)}.lotplan .lotplan-group.w-buy h3{border-left-color:var(--wait)}.lotplan .lotplan-counts{font:400 13px var(--f-body);color:var(--muted)}.lotplan .lotplan-counts b{color:var(--late);font-weight:600}.lotplan .lotplan-scroll{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:10px}.lotplan table{min-width:620px;font-size:14px}.lotplan th,.lotplan td{padding:5px 10px}.lotplan .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.lotplan tr.lotplan-step th{background:var(--bg);color:var(--ink);text-transform:none;letter-spacing:0;font:600 14px var(--f-body);padding-top:8px}.lotplan tr.lotplan-step.holds th{box-shadow:inset 4px 0 0 var(--late)}.lotplan .lotplan-stepname{margin-right:10px}.lotplan .lotplan-stepmeta{font:400 12px var(--f-mono);color:var(--muted)}.lotplan .lotplan-part{min-width:220px}.lotplan .lotplan-part a.pn{margin-right:8px;white-space:nowrap}.lotplan .lotplan-title{overflow-wrap:anywhere}.lotplan tr.holds td:first-child{box-shadow:inset 4px 0 0 var(--late)}.lotplan tr.holds .lotplan-title{font-weight:600}.lotplan tr.covered{color:var(--muted)}.lotplan td.short.is-short{color:var(--late);font-weight:700}.lotplan td.short.unknown{color:var(--muted)}.lotplan .lotplan-builds{display:flex;flex-wrap:wrap;gap:4px}.lotplan a.lotplan-chip{font:500 12px var(--f-mono);color:var(--ink);text-decoration:none;border:1px solid var(--line);border-radius:6px;padding:1px 6px;white-space:nowrap}.lotplan a.lotplan-chip:hover{border-color:var(--teal)}.lotplan a.lotplan-chip span{color:var(--muted)}.lotplan .lotplan-by{white-space:nowrap;font-variant-numeric:tabular-nums}@media(min-width:1700px){.lotplan.lotplan-wide .lotplan-groups{grid-template-columns:repeat(auto-fit,minmax(680px,1fr));align-items:start}}.stock .stat b{font-size:20px}.stock h2{margin-top:24px;margin-bottom:4px}.stock h3{font:600 15px var(--f-display);margin:0 0 6px}.stock .small{font-size:13px;margin:0 0 10px}.stock button.link{background:none;border:none;padding:0;color:var(--teal);font:inherit;text-align:left;cursor:pointer;text-decoration:underline}.stock-next{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}.need{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--wait);border-radius:10px;padding:10px 12px;min-width:0}.need header{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font:500 12px var(--f-mono);color:var(--muted);margin-bottom:4px}.need .first{color:var(--wood);font-weight:600}.need .out{margin:0 0 6px;font-size:13px;color:var(--muted);overflow-wrap:anywhere}.need-builds{list-style:none;margin:0;padding:0;display:grid;gap:2px;font-size:14px}.need-builds a{color:var(--ink);font-weight:600}.need-builds .s-prog .state{color:var(--wait)}.need-builds .s-q .state{color:var(--muted);font-style:italic}.stock-toggle{display:flex;gap:6px;align-items:center;font-size:14px;margin:6px 0 10px}.stock-groups{display:grid;gap:10px}.stock-group{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-width:0}.stock-group h3{display:flex;gap:6px;flex-wrap:wrap;align-items:baseline}.stock-group .total{margin-left:auto;font:700 14px var(--f-mono);color:var(--teal)}.lot{border-top:1px solid var(--line);padding:6px 0}.lot summary{cursor:pointer;display:flex;gap:8px;flex-wrap:wrap;align-items:baseline}.lot summary::-webkit-details-marker{display:none}.lot .desc{min-width:0;overflow-wrap:anywhere}.lot.s-used,.lot.s-scrapped{opacity:.65}.lot-body{padding:6px 0 4px 12px;border-left:2px solid var(--wood);margin:6px 0 2px 4px;font-size:14px}.lot-body p{margin:2px 0 6px}.lot-body ul{margin:2px 0 8px;padding-left:18px}.stock-forms{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));margin-top:16px}.stock-form{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));align-content:start;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.stock-form h3,.stock-form p,.stock-form .wide{grid-column:1 / -1;margin:0}.stock-form label{display:grid;gap:4px;font-size:13px;font-weight:600;min-width:0}.stock-form input,.stock-form select{font:400 15px var(--f-body);padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);min-width:0;width:100%}.stock-form button{grid-column:1 / -1;justify-self:start}.stock table{min-width:560px}.tooling .stat b{font-size:20px;white-space:nowrap}.tooling button.link{background:none;border:none;padding:0;color:var(--ink);font:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:var(--line)}.tool-next{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:12px 0 20px}.tool-next ol{margin:0;padding-left:20px;display:grid;gap:4px}.tool-stream{margin-bottom:22px}.tool-stream h2{display:flex;gap:8px;align-items:center}.bingo{font:800 12px var(--f-display);letter-spacing:.12em;text-transform:uppercase;background:var(--done);color:var(--surface);padding:2px 8px;border-radius:6px}.tool-scroll{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px}.tool-grid{display:grid;grid-template-columns:minmax(130px,1.2fr) repeat(4,minmax(120px,1fr));gap:6px;min-width:640px}.tool-col{font:600 11px var(--f-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:2px 4px}.tool-item{grid-column:1;font-weight:600;font-size:14px;padding:6px 4px}.row-win{display:block;font:600 11px var(--f-mono);color:var(--done)}.tile{position:relative;border:1px solid var(--line);border-radius:8px;background:var(--bg);min-height:76px}.tile.empty{border-style:dashed;background:transparent}.tile.win{border-color:var(--done)}.tile.win:after{content:"✓";position:absolute;right:6px;bottom:-4px;font:800 44px var(--f-display);color:var(--done);opacity:.15;pointer-events:none}.tile-body{display:flex;flex-direction:column;gap:4px;width:100%;height:100%;padding:8px;cursor:pointer;border-radius:8px;font-size:13px}.tile-body:focus-visible{outline:2px solid var(--wood);outline-offset:2px}.tile-model{color:var(--muted);font-size:12px}.tile-who{color:var(--muted);font-size:12px;margin-top:auto}.pri{align-self:flex-start;font:600 10px var(--f-mono);text-transform:uppercase;letter-spacing:.05em;padding:1px 6px;border-radius:10px;border:1px solid var(--line);color:var(--muted)}.pri.urgent{background:var(--late);border-color:var(--late);color:var(--surface)}.pri.high{border-color:var(--late);color:var(--late)}.pri.med{border-color:var(--wait);color:var(--wait)}.stamps{display:flex;gap:4px;flex-wrap:wrap}.stamp{display:inline-flex;flex-direction:column;align-items:center;min-width:26px;padding:1px 4px;border-radius:6px;border:1.5px solid var(--line);font:700 13px var(--f-display);line-height:1.2}.stamp small{font:500 8px var(--f-mono);text-transform:uppercase;letter-spacing:.03em}.stamp.have{border-color:var(--done);color:var(--done)}.stamp.prog{border-color:var(--wait);color:var(--wait)}.stamp.need{border-color:var(--late);color:var(--late)}.stamp.q{border-style:dashed;color:var(--muted)}.tool-legend{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px}.tool-legend .stamp{min-width:20px}dialog.tool-detail{border:none;border-radius:12px;padding:18px 20px;width:min(520px,96vw);background:var(--surface);color:var(--ink)}dialog.tool-detail::backdrop{background:#0a14148c}.tool-detail header{border-bottom:2px solid var(--wood);margin-bottom:10px}.tool-detail header p{margin:4px 0 8px}.tool-field{padding:8px 0;border-bottom:1px solid var(--line)}.tool-options{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.tool-options button{padding:6px 10px;font-size:13px}.tool-detail>button.quiet{margin-top:12px}.tv-screen{--u: min(1vw, 1.8vh);position:fixed;inset:0;z-index:5;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:calc(var(--u) * 1.2);padding:calc(var(--u) * 1.2) calc(var(--u) * 1.6);background:var(--bg);color:var(--ink);font:500 calc(var(--u) * 1.45) / 1.25 var(--f-body)}.tv-screen h2{margin:0;font:800 calc(var(--u) * 2.3) / 1.1 var(--f-display)}.tv-screen button{all:unset;box-sizing:border-box;cursor:pointer;display:block;width:100%;min-width:0}.tv-screen button:disabled{cursor:default}.tv-screen button:focus-visible{outline:3px solid var(--wood);outline-offset:2px}.tv-screen .tv-none,.tv-screen .tv-empty{color:var(--muted);margin:0}.tv-screen .tv-head{display:flex;align-items:baseline;gap:calc(var(--u) * 2);border-bottom:3px solid var(--ink);padding-bottom:calc(var(--u) * .6)}.tv-screen .tv-date{font:800 calc(var(--u) * 3) / 1 var(--f-display)}.tv-screen .tv-away{flex:1;min-width:0;color:var(--muted);font-size:calc(var(--u) * 1.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv-screen .tv-clock{margin-left:auto;font:800 calc(var(--u) * 3.6) / 1 var(--f-display);font-variant-numeric:tabular-nums}.tv-screen .tv-main{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,3fr);gap:calc(var(--u) * 1.4);min-height:0}.tv-screen .tv-people{display:grid;gap:calc(var(--u) * 1);min-height:0}.tv-screen .tv-person{background:var(--surface);border:2px solid var(--line);border-radius:14px;padding:calc(var(--u) * 1);min-height:0;overflow:hidden;display:flex;flex-direction:column}.tv-screen .tv-person-head{border-bottom:2px solid var(--line);padding-bottom:calc(var(--u) * .5);margin-bottom:calc(var(--u) * .6)}.tv-screen .tv-person-sub{display:flex;flex-wrap:wrap;gap:0 calc(var(--u) * 1);color:var(--muted);font-size:calc(var(--u) * 1.3)}.tv-screen .tv-done-count{color:var(--ink);font-weight:700}.tv-screen .tv-late{color:var(--late);font-weight:800}.tv-screen .tv-tickets{list-style:none;margin:0;padding:0;display:grid;gap:calc(var(--u) * .6)}.tv-screen .tv-ticket{display:flex;gap:calc(var(--u) * .7);align-items:flex-start}.tv-screen .tv-tick{flex:none;width:calc(var(--u) * 1.8);height:calc(var(--u) * 1.8);margin-top:calc(var(--u) * .1);border:3px solid var(--ink);border-radius:50%;display:grid;place-items:center;font:900 calc(var(--u) * 1.3) / 1 var(--f-body);color:var(--surface)}.tv-screen .tv-ticket.is-done .tv-tick{background:var(--done);border-color:var(--done)}.tv-screen .tv-task{display:block;font-weight:700}.tv-screen .tv-ticket.is-done .tv-task{color:var(--muted);text-decoration:line-through}.tv-screen .tv-build-key{display:block;color:var(--muted);font-size:calc(var(--u) * 1.15)}.tv-screen .tv-more{margin:calc(var(--u) * .6) 0 0;color:var(--muted);font-weight:700}.tv-screen .tv-next{background:var(--surface);border:3px solid var(--wood);border-radius:14px;padding:calc(var(--u) * 1);min-height:0;overflow:hidden}.tv-screen .tv-next h2{color:var(--wood)}.tv-screen .tv-next-sub{margin:calc(var(--u) * .2) 0 calc(var(--u) * .8);color:var(--muted);font-size:calc(var(--u) * 1.2)}.tv-screen .tv-next ol{list-style:none;margin:0;padding:0;display:grid;gap:calc(var(--u) * .9);counter-reset:make}.tv-screen .tv-next li{counter-increment:make;position:relative;padding-left:calc(var(--u) * 3)}.tv-screen .tv-next li:before{content:counter(make);position:absolute;left:0;top:0;width:calc(var(--u) * 2.2);height:calc(var(--u) * 2.2);border-radius:50%;background:var(--wood);color:var(--surface);text-align:center;font:800 calc(var(--u) * 1.4) / calc(var(--u) * 2.2) var(--f-display)}.tv-screen .tv-next-what{display:block;font:800 calc(var(--u) * 1.7) / 1.15 var(--f-display)}.tv-screen .tv-next-why{display:block;font-weight:600}.tv-screen .tv-next-step{display:block;color:var(--muted);font-size:calc(var(--u) * 1.15)}.tv-screen .tv-builds{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:calc(var(--u) * .8)}.tv-screen .tv-build{background:var(--surface);border:2px solid var(--line);border-left:calc(var(--u) * .5) solid var(--done);border-radius:12px;padding:calc(var(--u) * .6) calc(var(--u) * .8);min-width:0;overflow:hidden}.tv-screen .tv-build.is-late{border-left-color:var(--late)}.tv-screen .tv-build-key-big{font:800 calc(var(--u) * 1.6) / 1.1 var(--f-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv-screen .tv-build-next{font-weight:700;font-size:calc(var(--u) * 1.25);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv-screen .tv-build-dates{color:var(--muted);font-size:calc(var(--u) * 1.15)}.tv-screen .tv-build-slip{font-weight:800;color:var(--done);font-size:calc(var(--u) * 1.25)}.tv-screen .tv-build.is-late .tv-build-slip{color:var(--late)}.tv-screen .tv-build-more{display:grid;place-items:center;color:var(--muted);font-weight:700;border-left-color:var(--line)}.tv-screen .tv-builds.two-rows .tv-build{padding-top:calc(var(--u) * .4);padding-bottom:calc(var(--u) * .4)}.tv-screen .tv-builds.two-rows{font-size:calc(var(--u) * 1.2)}.wtool,.water{--wm: var(--teal);--wb: var(--wood);--wg: var(--done);--wm-bg: color-mix(in srgb, var(--teal) 12%, var(--surface));--wb-bg: color-mix(in srgb, var(--wood) 14%, var(--surface));--wg-bg: color-mix(in srgb, var(--done) 14%, var(--surface))}.wtool{display:grid;gap:14px;align-items:start}@media(min-width:900px){.wtool{grid-template-columns:320px minmax(0,1fr)}:is(.water,.wtool) .wcontrols{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow-y:auto}}:is(.water,.wtool) .wout{display:grid;gap:14px;min-width:0}:is(.water,.wtool) .wpane{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;min-width:0}:is(.water,.wtool) .wpane h2{margin-bottom:8px}:is(.water,.wtool) .wpane h3{font:600 15px var(--f-display);margin:14px 0 6px}:is(.water,.wtool) .hint{color:var(--muted);font-size:13px;margin:8px 0 0}:is(.water,.wtool) .wsum{margin:0;font-size:15px}:is(.water,.wtool) .wc-field{margin:10px 0 0}:is(.water,.wtool) .wc-label{display:block;font-size:13px;color:var(--muted);margin-bottom:4px}:is(.water,.wtool) .wc-label b{color:var(--ink);font-variant-numeric:tabular-nums}:is(.water,.wtool) .wc-field input[type=range]{width:100%;accent-color:var(--wood)}:is(.water,.wtool) .wc-field select{font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);width:100%}:is(.water,.wtool) .seg{display:flex;flex-wrap:wrap;gap:4px}:is(.water,.wtool) .seg button{background:var(--surface);color:var(--ink);border:1px solid var(--line);font-weight:500;padding:7px 10px;min-height:36px}:is(.water,.wtool) .seg button[aria-pressed=true]{background:var(--teal);color:var(--bg);border-color:var(--teal);font-weight:600}:is(.water,.wtool) .kv{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-top:8px}:is(.water,.wtool) .kv>div{background:var(--bg);border-radius:8px;padding:8px 10px;min-width:0}:is(.water,.wtool) .kv b{display:block;font:700 18px var(--f-display);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}:is(.water,.wtool) .kv span{font-size:12.5px;color:var(--muted)}:is(.water,.wtool) .flags{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:6px}:is(.water,.wtool) .flag{border-left:4px solid var(--wait);background:var(--bg);padding:6px 10px;border-radius:0 6px 6px 0;font-size:14px}:is(.water,.wtool) .flag.bad{border-color:var(--late)}:is(.water,.wtool) .flag.ok{border-color:var(--done)}:is(.water,.wtool) .wt{min-width:0}:is(.water,.wtool) .wt td.over{color:var(--late);font-weight:600}:is(.water,.wtool) .table-scroll{margin-top:4px}:is(.water,.wtool) svg.chart{display:block;width:100%;max-width:640px;height:auto;margin-top:4px}:is(.water,.wtool) svg.chart text{font:11px var(--f-body);fill:var(--muted)}:is(.water,.wtool) .c-water{fill:none;stroke:var(--wm);stroke-width:2.2}:is(.water,.wtool) .c-set{stroke:var(--late);stroke-dasharray:4 4}:is(.water,.wtool) .c-air{fill:none;stroke:var(--muted);stroke-width:1.2;stroke-dasharray:2 3}:is(.water,.wtool) .c-open{fill:var(--wm-bg)}:is(.water,.wtool) .c-on{fill:var(--late);opacity:.7}:is(.water,.wtool) .c-bathers{fill:var(--wb);opacity:.75}:is(.water,.wtool) .c-legend{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--muted)}:is(.water,.wtool) .c-legend li{display:flex;align-items:center;gap:6px}:is(.water,.wtool) .c-legend i{display:inline-block;width:14px;height:10px;border-radius:2px}:is(.water,.wtool) .c-legend .k-water{height:3px;background:var(--wm)}:is(.water,.wtool) .c-legend .k-set{height:0;border-top:2px dashed var(--late)}:is(.water,.wtool) .c-legend .k-air{height:0;border-top:2px dotted var(--muted)}:is(.water,.wtool) .c-legend .k-open{background:var(--wm-bg);border:1px solid var(--line)}:is(.water,.wtool) .c-legend .k-on{background:var(--late);opacity:.7}:is(.water,.wtool) .c-legend .k-bathers{background:var(--wb);opacity:.75}:is(.water,.wtool) .c-legend .k-loop{background:var(--wm-bg);border:1px solid var(--wm)}:is(.water,.wtool) .c-legend .k-polish{background:var(--wb-bg);border:1px solid var(--wb)}:is(.water,.wtool) .c-legend .k-polish.dashed{border-style:dashed}:is(.water,.wtool) .c-legend .k-core{background:var(--wg-bg);border:1px solid var(--wg)}:is(.water,.wtool) svg.pad{display:block;width:100%;height:auto;margin-top:4px}:is(.water,.wtool) .pad-edge{fill:none;stroke:var(--muted);stroke-dasharray:1.5 1;stroke-width:.3}:is(.water,.wtool) .pad-clear{fill:var(--line);opacity:.45;stroke:none!important}:is(.water,.wtool) svg.pad g>rect:not(.pad-clear){stroke-width:.35}:is(.water,.wtool) svg.pad text{font:700 3px var(--f-body)}:is(.water,.wtool) .k-loop>rect{fill:var(--wm-bg);stroke:var(--wm)}:is(.water,.wtool) .k-loop text{fill:var(--wm)}:is(.water,.wtool) .k-polish>rect{fill:var(--wb-bg);stroke:var(--wb)}:is(.water,.wtool) .k-polish text{fill:var(--wb)}:is(.water,.wtool) .k-core>rect{fill:var(--wg-bg);stroke:var(--wg)}:is(.water,.wtool) .k-core text{fill:var(--wg)}:is(.water,.wtool) svg.flow{display:block;width:100%;max-width:560px;height:auto;margin-top:8px}:is(.water,.wtool) svg.flow .wn rect{stroke-width:1}:is(.water,.wtool) svg.flow .wn.k-polish rect{stroke-dasharray:5 4}:is(.water,.wtool) svg.flow .wn .t{font:700 17px var(--f-body)}:is(.water,.wtool) svg.flow .wn .s{font:14px var(--f-body);opacity:.9}:is(.water,.wtool) svg.flow .lab{font:14px var(--f-body);fill:var(--muted)}:is(.water,.wtool) .wa{fill:none;stroke:var(--wm);stroke-width:1.6}:is(.water,.wtool) .wa.bypass{stroke:var(--wb);stroke-dasharray:5 4}:is(.water,.wtool) marker .wa.bypass{stroke-dasharray:none}.water h1{margin-bottom:10px}.wtabs{margin-bottom:14px}.wtabs button{flex:1 1 auto}.wsys .stats{flex-wrap:wrap;margin-bottom:10px}.wlinear{margin:0 0 12px}.wlinear a{color:var(--teal);font-weight:600}.wcards{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.wloop header{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.wloop header a{color:var(--teal);font-weight:600}.wloop-no{font:800 17px var(--f-display)}.wprio{margin-left:auto;font:600 12px var(--f-mono);padding:2px 8px;border-radius:999px;border:1px solid var(--line);background:var(--bg)}.wprio.p-urgent{background:var(--late);border-color:var(--late);color:var(--surface)}.wprio.p-high{color:var(--late);border-color:var(--late)}.wprio.p-med{color:var(--wait);border-color:var(--wait)}.wsoon{color:var(--late);font-weight:600}.wstages{list-style:none;padding:0;margin:8px 0;display:grid;grid-template-columns:repeat(6,1fr);gap:2px}.wstages li{display:grid;justify-items:center;gap:2px;min-width:0}.wstage-name{font-size:10.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;max-width:100%}.wdot{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);display:inline-grid;place-items:center;font:700 12px var(--f-body);line-height:1;flex:none}.wdot.done{background:var(--done);border-color:var(--done);color:var(--surface)}.wdot.partial{border-color:var(--done);background:linear-gradient(90deg,var(--done) 50%,transparent 50%)}.wdot.unknown{border-style:dashed;border-color:var(--muted);color:var(--muted)}.wdot.needed{border-color:var(--late);color:var(--late)}.wsys .c-legend .wdot{width:16px;height:16px;font-size:10px}.wflow{display:grid;gap:14px}@media(min-width:900px){.wflow{grid-template-columns:1fr 1fr}.wflow>p,.wflow>.c-legend{grid-column:1 / -1}}.wflow>p{margin:0}svg.flow .wn{cursor:pointer}svg.flow .wn:focus{outline:none}svg.flow .wn:focus-visible rect,svg.flow .wn.on rect{stroke-width:3}.wparts{margin-top:10px;border-top:2px solid var(--wood);padding-top:8px}.wparts header{display:flex;align-items:start;justify-content:space-between;gap:8px}.wparts h3{margin:4px 0;font:600 15px var(--f-display)}.wpart-list{list-style:none;padding:0;margin:6px 0 0;display:grid;gap:6px}.wpart-list li{display:grid;grid-template-columns:3.2em 1fr;gap:0 8px}.wpart-list .qty{font:700 14px var(--f-mono);text-align:right}.wpart-list .muted{grid-column:2;font-size:13px}.week-head{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;margin-bottom:14px}.week-head h1{margin:0}.week-nav{display:flex;gap:6px}.week-nav button{min-width:44px;font-size:18px;padding:6px 12px}.week-nav button:not([aria-label]){font-size:14px}.burn{margin:0 0 20px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.burn svg{display:block;width:100%;height:auto}.burn-axis{stroke:var(--line);stroke-width:1}.burn-grid{stroke:var(--line);stroke-width:1;stroke-dasharray:2 4}.burn-label{font:11px var(--f-body);fill:var(--muted)}.burn-plan{fill:none;stroke:var(--muted);stroke-width:2;stroke-dasharray:6 5}.burn-actual{fill:none;stroke:var(--late);stroke-width:2.5;stroke-linejoin:round}.burn-dot{fill:var(--late)}.burn figcaption{font-size:12px;color:var(--muted);margin-top:6px}.burn-key{display:inline-block;width:18px;height:0;vertical-align:middle;margin-right:4px}.burn-key.plan{border-top:2px dashed var(--muted)}.burn-key.actual{border-top:3px solid var(--late)}.week-carried{border-left:4px solid var(--wait);padding-left:10px;margin-bottom:20px}.week-grid{display:grid;gap:10px;grid-template-columns:minmax(0,1fr);margin-bottom:20px}.week-day{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px;min-width:0;display:grid;gap:6px;align-content:start}.week-day h3{font:600 14px var(--f-display);margin:0}.week-day.is-today{border-color:var(--late)}.week-day.is-today h3{color:var(--late)}.week-day .empty{font-size:13px;margin:0}.week-day .tk{padding:8px 10px;font-size:14px}.week-next{margin-top:8px}@media(min-width:900px){.week-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.week-day .tk-tag{margin-left:0}}.welcome{display:grid;gap:16px;max-width:680px;margin:0 auto;font-size:16px;line-height:1.5}.welcome h2{font:700 22px/1.2 var(--f-display);color:var(--ink);margin:0 0 10px}.welcome h3{font:600 17px/1.3 var(--f-display);color:var(--ink);margin:18px 0 6px}.welcome p{margin:6px 0}.welcome ul,.welcome ol{margin:6px 0;padding-left:22px}.welcome li{margin:6px 0}.welcome a{color:var(--teal);font-weight:600;text-underline-offset:2px}.welcome code{font:500 .9em var(--f-mono);background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:1px 5px;overflow-wrap:anywhere}.welcome .muted{color:var(--muted)}.welcome .welcome-hero{background:var(--teal);color:var(--bg);border-radius:14px;padding:18px 18px 16px;border-bottom:5px solid var(--wood)}.welcome .welcome-hero h1{font-size:30px;margin:2px 0 4px;color:var(--bg)}.welcome .welcome-kicker{font:600 12px var(--f-mono);text-transform:uppercase;letter-spacing:.1em;opacity:.8;margin:0}.welcome .welcome-role{font-size:17px;opacity:.92;margin:0}.welcome .welcome-now{display:inline-block;font-weight:600;font-size:14px;border-radius:999px;padding:4px 12px;margin:10px 0 0;background:var(--bg);color:var(--ink)}.welcome .welcome-now.in{color:var(--done)}.welcome .welcome-now.away{color:var(--wait)}.welcome .welcome-now.off{color:var(--muted)}.welcome .welcome-intro{padding:0 4px}.welcome .welcome-myday{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--wood);border-radius:8px;padding:10px 12px}.welcome .welcome-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;min-width:0}.welcome .welcome-card>h2{padding-bottom:8px;border-bottom:3px solid var(--wood);display:inline-block}.welcome .welcome-pairs{display:grid;gap:0;margin:6px 0}.welcome .welcome-pairs>div{display:grid;grid-template-columns:1fr;gap:2px;padding:10px 0;border-bottom:1px solid var(--line)}.welcome .welcome-pairs>div:last-child{border-bottom:none}.welcome .welcome-pairs dt{font-weight:700;color:var(--ink);overflow-wrap:anywhere}.welcome .welcome-pairs dd{margin:0;overflow-wrap:anywhere}.welcome .welcome-plain{list-style:none;padding:0;margin:4px 0}.welcome .welcome-plain li{margin:2px 0}.welcome .welcome-check{list-style:none;padding:0}.welcome .welcome-check>li{position:relative;padding-left:30px;margin:10px 0}.welcome .welcome-check>li:before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border:2px solid var(--wood);border-radius:4px}.welcome .welcome-chips{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-wrap:wrap;gap:6px}.welcome .welcome-chips li,.welcome .welcome-say{margin:0}.welcome .welcome-say>div{padding:10px 0;border-bottom:1px solid var(--line)}.welcome .welcome-say>div:last-child{border-bottom:none}.welcome .welcome-say dt{font-weight:700}.welcome .welcome-say dd{margin:2px 0 0;display:grid;gap:4px;justify-items:start}.welcome .welcome-floor{margin:6px 0 0}.welcome .welcome-floor-scroll{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:10px}.welcome .welcome-floor svg{display:block;width:100%;min-width:560px;height:auto}.welcome .welcome-floor figcaption{font-size:14px;color:var(--muted);margin-top:6px}.welcome .welcome-people{list-style:none;padding:0;margin:0}.welcome .welcome-people>li{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line);margin:0}.welcome .welcome-people>li:last-child{border-bottom:none}.welcome .welcome-person{display:grid;gap:2px;min-width:0;overflow-wrap:anywhere}.welcome .welcome-person b{font-size:17px}.welcome .welcome-person .muted{font-size:14px}.welcome .welcome-dot{font-size:13px;white-space:nowrap;color:var(--muted);padding-top:3px}.welcome .welcome-dot:before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;background:var(--line)}.welcome .welcome-dot.in:before{background:var(--done)}.welcome .welcome-dot.away:before{background:var(--wait)}.welcome .welcome-folds{display:grid;gap:8px}.welcome .welcome-more{font:700 13px var(--f-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--wood);margin:10px 4px 0}.welcome .welcome-fold{background:var(--surface);border:1px solid var(--line);border-radius:12px;min-width:0}.welcome .welcome-fold>summary{list-style:none;cursor:pointer;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:56px}.welcome .welcome-fold>summary::-webkit-details-marker{display:none}.welcome .welcome-fold>summary h2{margin:0;font-size:19px}.welcome .welcome-fold-hint{display:block;font-size:14px;color:var(--muted)}.welcome .welcome-fold>summary:after{content:"+";flex:none;font:600 26px var(--f-display);color:var(--wood)}.welcome .welcome-fold[open]>summary:after{content:"–"}.welcome .welcome-fold-body{padding:4px 16px 16px;border-top:1px solid var(--line)}.welcome .welcome-rules{list-style:none;padding:0}.welcome .welcome-rules>li{display:grid;gap:2px;padding:8px 0;border-bottom:1px solid var(--line);margin:0}.welcome .welcome-rules>li:last-child{border-bottom:none}.welcome .welcome-qa{padding-left:26px}.welcome .welcome-qa>li{padding:6px 0}.welcome .welcome-qa>li>*{display:block}.welcome .welcome-qa>li::marker{font-weight:700;color:var(--wood)}.welcome .welcome-team{list-style:none;padding:0;margin:0}.welcome .welcome-team li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;background:var(--surface);border:1px solid var(--line);border-radius:10px;margin:0 0 6px}.welcome .welcome-team a{display:block;padding:12px 14px;font-size:17px;flex:1 1 auto;text-decoration:none}.welcome .welcome-team .muted{padding:0 14px 12px;flex-basis:100%;margin-top:-10px}@media(min-width:720px){.welcome .welcome-hero h1{font-size:36px}.welcome .welcome-pairs>div{grid-template-columns:minmax(140px,32%) 1fr;gap:14px}}:root{--bg: #f4f6f5;--surface: #fff;--ink: #17282a;--muted: #5a6b6b;--line: #d3dcda;--teal: #25393a;--wood: #a86a2e;--done: #2f7d4f;--late: #b5452b;--wait: #b7801a;--f-display: "Archivo", "Helvetica Neue", Arial, sans-serif;--f-body: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;--f-mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #0f1718;--surface: #162123;--ink: #e3ebe9;--muted: #97a8a7;--line: #2e3f40;--teal: #8cc0bc;--wood: #d9a066;--done: #5fbf86;--late: #e58a72;--wait: #e2b553;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 var(--f-body)}main{padding:16px max(16px,env(safe-area-inset-right)) 48px max(16px,env(safe-area-inset-left));max-width:2400px;margin:0 auto}h1,h2{font-family:var(--f-display);margin:0 0 12px;line-height:1.15}h1{font-size:26px;font-weight:800}h2{font-size:17px;font-weight:600}button{font:600 14px var(--f-body);border:1px solid var(--teal);background:var(--teal);color:var(--bg);border-radius:8px;padding:8px 12px;cursor:pointer}button.quiet{background:transparent;color:var(--muted);border-color:var(--line)}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--wood);outline-offset:2px}.error{color:var(--late)}.empty{color:var(--muted)}.id{font-family:var(--f-mono);font-size:.85em;color:var(--wood)}nav{display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding:10px max(16px,env(safe-area-inset-left));background:var(--teal);position:relative;z-index:10}nav .brand{font:800 16px var(--f-display);color:var(--bg);margin-right:12px;display:inline-flex;align-items:center;gap:8px}nav .brand img{display:block}nav a{color:var(--bg);opacity:.75;text-decoration:none;padding:6px 10px;border-radius:6px;white-space:nowrap}nav a[aria-current=page]{opacity:1;background:#ffffff1f}nav .quiet{margin-left:auto;color:var(--bg);border-color:#ffffff4d}.signin{display:grid;gap:12px;justify-items:start;padding-top:15vh}.board-head{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:end;margin-bottom:16px}.stats{display:flex;gap:8px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:6px 12px;min-width:70px}.stat b{display:block;font:800 22px var(--f-display);font-variant-numeric:tabular-nums}.stat span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.stat.late b{color:var(--late)}.stat.wait b{color:var(--wait)}.stat.done b{color:var(--done)}.lanes{display:grid;gap:20px}.lane{min-width:0}.row{display:flex;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:6px}.row .task{flex:1;min-width:0}.row .meta{font-size:13px;color:var(--muted)}.row.late .meta{color:var(--late);font-weight:600}.row.wait .meta{color:var(--wait);font-weight:600}.row.done .task{color:var(--muted);text-decoration:line-through}.dot{width:14px;height:14px;border-radius:50%;flex:none;border:2px solid var(--ink)}.row.done .dot{background:var(--done);border-color:var(--done)}.row.late .dot{background:var(--late);border-color:var(--late)}.row.wait .dot{background:var(--wait);border-color:var(--wait)}.tag{font:500 12px var(--f-mono);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:2px 6px;white-space:nowrap}.board.tv{font-size:22px}.board.tv h1{font-size:44px}.board.tv .lanes{grid-template-columns:repeat(auto-fit,minmax(380px,1fr))}.board.tv .stat b{font-size:36px}.floor-scroll,.table-scroll{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:10px}.floor svg{display:block;width:100%;min-width:700px;height:auto}.zone rect{fill:var(--bg);stroke:var(--line);stroke-width:.15}.zone text{font:.9px var(--f-body);fill:var(--ink)}.zone text.build{fill:var(--wood);font-weight:600}.badge circle{fill:var(--wood)}.badge text{fill:var(--surface);font-weight:700}.list input{width:100%;max-width:420px;font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);margin-bottom:14px}.cards{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;min-width:0}.card header{font-weight:600;margin-bottom:6px}.card p{margin:4px 0}.card pre{white-space:pre-wrap;font:13px/1.45 var(--f-body);background:var(--bg);padding:8px;border-radius:6px}.card .tip{color:var(--wood);font-style:italic}table{border-collapse:collapse;width:100%;min-width:640px;font-size:14px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{font:600 11px var(--f-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}tr.dim td{color:var(--muted)}a.pn{font:500 .85em var(--f-mono);color:var(--teal)}dialog.recipe-card{border:none;border-radius:12px;padding:18px 20px;width:min(560px,96vw);background:var(--surface);color:var(--ink)}dialog.recipe-card::backdrop{background:#0a14148c}.recipe-card header{border-bottom:2px solid var(--wood);margin-bottom:10px;padding-bottom:6px}.recipe-card h2{margin:2px 0}.recipe-card dl{display:grid;gap:4px;margin:0 0 10px}.recipe-card dl>div{display:grid;grid-template-columns:90px 1fr;gap:10px}.recipe-card dt{font:600 11px var(--f-mono);text-transform:uppercase;color:var(--muted);padding-top:3px}.recipe-card dd{margin:0}.recipe-card pre{white-space:pre-wrap;font:13px/1.45 var(--f-body);background:var(--bg);padding:8px;border-radius:6px}.muted{color:var(--muted)}a.edit-link{font-size:13px;color:var(--teal);margin-left:8px;white-space:nowrap}.parts-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}.parts-filters input{margin:0;flex:1 1 280px}.parts-filters select{font:inherit;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}.parts-table{max-height:75vh}.parts-table table{min-width:2200px}.parts-table thead th{position:sticky;top:0;background:var(--surface);z-index:1}.parts-table td.sticky{position:sticky;left:0;background:var(--surface)}.parts-table td.wide{min-width:280px}.records,.welcome{max-width:900px;margin-left:auto;margin-right:auto}@media(min-width:1300px){main{padding-left:28px;padding-right:28px}.today-groups{grid-template-columns:repeat(auto-fill,minmax(460px,1fr))}.pipe-list{grid-template-columns:repeat(auto-fill,minmax(560px,1fr))}.meet-list{grid-template-columns:repeat(auto-fill,minmax(480px,1fr))}.stock-next{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}.build-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.cards{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}}@media(min-width:2000px){body{font-size:16px}.today-groups{grid-template-columns:repeat(auto-fill,minmax(520px,1fr))}}.nav-more{position:relative}.nav-more summary{list-style:none;cursor:pointer;color:var(--bg);opacity:.75;padding:6px 10px;border-radius:6px}.nav-more summary::-webkit-details-marker{display:none}.nav-more[open] summary{opacity:1;background:#ffffff1f}.nav-more-list{position:absolute;top:calc(100% + 6px);left:0;display:grid;min-width:200px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:6px;box-shadow:0 8px 24px #00000040}.nav-more-list a{color:var(--ink);opacity:1;padding:8px 10px}.nav-more-list a[aria-current=page]{background:var(--bg)}
