:root{--ai: #1E3A5F;--ai-deep: #13253C;--washi: #FBFAF7;--paper: #FFFFFF;--shu: #C73E3A;--bg: var(--washi);--fg: #2B2B28;--muted: #6B6A63;--line: #E4E1D8;--accent: var(--ai);--err: var(--shu);--ok: #2F6B3F;--font-display: "Shippori Mincho", serif;--font-body: "Zen Kaku Gothic New", -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Noto Sans JP", sans-serif;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);line-height:1.8}h1,h2,h3{font-family:var(--font-display);color:var(--ai);letter-spacing:.06em}h1{font-size:1.5rem;font-weight:800;margin:0 0 .4rem}h2{font-size:1.1rem;font-weight:800;margin:0 0 .6rem}.nav{display:flex;align-items:center;gap:1rem;padding:.7rem 1.4rem;background:var(--paper);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-weight:800;letter-spacing:.14em;color:var(--ai)}.brand .stamp{width:30px;height:30px;flex:none;border:2px solid var(--shu);border-radius:4px;color:var(--shu);display:grid;place-items:center;font-size:9.5px;line-height:1.1;letter-spacing:0;text-align:center;transform:rotate(-4deg)}.spacer{flex:1}.page{max-width:900px;margin:0 auto;padding:1.5rem 1.2rem 4rem}.page-head{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}.page-head h1{flex:1}.center{min-height:100dvh;display:grid;place-items:center;padding:1.2rem}.card{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--ai);border-radius:2px;padding:1.2rem 1.3rem;margin-bottom:1.2rem}.card.narrow{width:min(440px,100%)}label{display:block;margin-top:.9rem;font-size:.85rem;font-weight:700;color:var(--ai)}input[type=text],input[type=email],input:not([type]),textarea{width:100%;padding:.55rem .7rem;margin-top:.25rem;border:1px solid var(--line);border-radius:3px;background:var(--paper);color:var(--fg);font:inherit}input[type=file]{margin-top:.35rem;font-size:.85rem}textarea{resize:vertical}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--shu);outline-offset:2px}button,.button{display:inline-block;margin-top:1rem;padding:.5rem 1.2rem;border:1px solid var(--ai);border-radius:3px;background:var(--ai);color:#fff;font:inherit;letter-spacing:.06em;cursor:pointer;text-decoration:none;transition:background .2s}button:hover:not(:disabled),.button:hover{background:var(--ai-deep)}button:disabled{opacity:.45;cursor:not-allowed}button.link{background:none;border:none;color:var(--ai);padding:0;margin:.6rem 0 0;text-decoration:underline;text-underline-offset:3px}button.link:hover:not(:disabled){background:none;color:var(--shu)}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--err)}.ok{color:var(--ok)}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:.55rem .5rem;border-bottom:1px solid var(--line);font-size:.9rem}.table th{font-size:.78rem;color:#fff;background:var(--ai);font-weight:500;letter-spacing:.06em}.badge{display:inline-block;padding:.1rem .6rem;border-radius:999px;font-size:.75rem;border:1px solid var(--line);letter-spacing:.04em}.badge.approved{border-color:var(--ok);color:var(--ok)}.badge.reviewing{border-color:var(--shu);color:var(--shu)}.kv{display:grid;grid-template-columns:8rem 1fr;gap:.4rem 1rem;margin:0}.kv dt{color:var(--muted);font-size:.85rem}.kv dd{margin:0;overflow-wrap:anywhere}code{font-size:.8rem;overflow-wrap:anywhere;color:var(--ai)}.progress-row{margin-bottom:.8rem}.progress-label{display:flex;justify-content:space-between;font-size:.8rem;gap:1rem}.progress-label span:first-child{overflow-wrap:anywhere}progress{width:100%;height:.5rem;accent-color:var(--ai)}.badge.running,.badge.queued{border-color:var(--ai);color:var(--ai)}.badge.failed{border-color:var(--err);color:var(--err)}.badge.succeeded{border-color:var(--ok);color:var(--ok)}.viewer{display:flex;flex-direction:column;height:calc(100dvh - 3.4rem)}.viewer-bar{display:flex;align-items:center;gap:.9rem;padding:.5rem 1.4rem;background:var(--paper);border-bottom:1px solid var(--line);font-size:.85rem}.viewer-bar button.link,.viewer-bar a.link{margin:0}.viewer-bar .active{font-weight:700;text-decoration:none;color:var(--ai)}.viewer-frame{flex:1;width:100%;border:0;background:#fff}.filters{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0}.chip{margin:0;padding:.25rem .8rem;border-radius:999px;font-size:.8rem;background:var(--paper);color:var(--fg);border:1px solid var(--line)}.chip:hover:not(:disabled){background:var(--paper);border-color:var(--ai)}.chip.on{border-color:var(--ai);color:var(--ai);font-weight:700}.question{padding:.9rem 1.1rem}.q-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.4rem}.q-prompt{margin:.2rem 0;white-space:pre-wrap}.q-sub{margin:.1rem 0}.q-options{display:flex;flex-direction:column;gap:.3rem;margin:.5rem 0;align-items:flex-start}.q-options .chip{text-align:left;white-space:normal}.badge.p-high{border-color:var(--shu);color:var(--shu)}.badge.p-medium{border-color:var(--ai);color:var(--ai)}.badge.p-low{border-color:var(--line);color:var(--muted)}select{width:100%;padding:.5rem .6rem;margin-top:.25rem;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--fg);font:inherit}.report{white-space:pre-wrap;font-size:.85rem;line-height:1.7;overflow-x:auto;background:color-mix(in srgb,var(--bg) 92%,var(--fg) 8%);border:1px solid var(--line);border-radius:8px;padding:1rem}.nav a{color:var(--accent);text-decoration:none;font-size:.85rem}.stack{display:flex;flex-direction:column;gap:16px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.kpi{border:1px solid var(--line);border-radius:6px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.kpi-label{color:var(--muted);font-size:12px}.kpi-value{font-size:26px;font-weight:700;line-height:1.1}.tablewrap{overflow-x:auto}table.matrix{border-collapse:collapse;width:100%;min-width:480px}table.matrix th,table.matrix td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}table.matrix thead th{font-size:13px;color:var(--muted);font-weight:600;white-space:nowrap}table.matrix tbody th{white-space:nowrap;font-weight:600}.cell{min-width:120px}.cell.empty{color:var(--muted);text-align:center}.cell .score{font-size:20px;font-weight:700}.cell .sub{display:block;color:var(--muted);margin-top:2px}.band-good{background:color-mix(in srgb,var(--ok) 12%,transparent)}.band-mid{background:color-mix(in srgb,var(--accent) 12%,transparent)}.band-low{background:color-mix(in srgb,var(--err) 12%,transparent)}.hanko{display:inline-block;margin-left:6px;padding:1px 6px;border:1.5px solid var(--err);border-radius:4px;color:var(--err);font-size:10px;font-weight:700;transform:rotate(-4deg);white-space:nowrap}.row{display:flex;gap:12px;align-items:center;margin:8px 0 12px;flex-wrap:wrap}.err-cell{color:var(--err);max-width:28ch;overflow-wrap:anywhere}ol.parts{list-style:none;padding:0;margin:10px 0;border:1px solid var(--line);border-radius:6px}ol.parts li{display:flex;gap:10px;align-items:center;padding:8px 10px;border-top:1px solid var(--line);font-size:13px}ol.parts li:first-child{border-top:none}ol.parts .no{font-weight:700;white-space:nowrap;min-width:4.5em}ol.parts .nm{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ol.parts .sz{color:var(--muted);white-space:nowrap}ol.parts .mvs{display:flex;gap:4px}ol.parts .mvs button{padding:2px 8px}ol.parts .total{color:var(--muted);font-size:12px;background:color-mix(in srgb,var(--fg) 4%,transparent)}.warn{border:1px solid var(--accent);border-left:3px solid var(--accent);border-radius:4px;padding:10px 12px;margin:10px 0;font-size:12px;line-height:1.8;color:var(--accent)}.coverage-warn{border-color:var(--err);border-left-color:var(--err);color:var(--err)}.coverage-warn p,.coverage-warn li{color:var(--fg)}.coverage-warn ul{margin:6px 0 0}select{width:100%;padding:.55rem .7rem;margin-top:.25rem;border:1px solid var(--line);border-radius:3px;background:var(--paper);color:var(--fg);font:inherit}.report{white-space:pre-wrap;font-size:.85rem;line-height:1.8;overflow-x:auto;background:var(--paper);border:1px solid var(--line);border-radius:2px;padding:1rem}.nav a{color:var(--ai);text-decoration:none;font-size:.85rem}.nav a:hover{color:var(--shu)}.viewer-bar a.link.strong{font-weight:700;color:var(--shu)}.viewer-note{margin:0;padding:.45rem 1.4rem;background:var(--paper);border-bottom:1px solid var(--line)}.viewer-note a{color:var(--ai)}.save-bar{position:sticky;bottom:0;display:flex;align-items:center;gap:.8rem;padding:.6rem .9rem;margin-top:1rem;border:1px solid var(--line);border-left:3px solid var(--shu);border-radius:2px;background:var(--paper);font-size:.85rem}.save-bar button{margin:0}:root{--kin: #B98A2F;--kin-text: #8A6516;--wakaba-text: #446B34;--shu-text: #B7332F}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-bottom:1.4rem}.kpi{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--ai);padding:.9rem 1rem}.kpi-label{font-size:.72rem;color:var(--muted);letter-spacing:.12em}.kpi-num{font-family:var(--font-display);font-size:1.9rem;font-weight:800;color:var(--ai);line-height:1.3}.kpi-num small{font-size:.8rem;font-weight:600;margin-left:.2rem}.kpi-foot{font-size:.72rem;color:var(--muted)}.kpi.alert{border-top-color:var(--kin)}.kpi.alert .kpi-num{color:var(--kin-text)}.kpi.band-good{border-top-color:var(--wakaba-text)}.kpi.band-good .kpi-num{color:var(--wakaba-text)}.kpi.band-mid{border-top-color:var(--kin)}.kpi.band-mid .kpi-num{color:var(--kin-text)}.kpi.band-low{border-top-color:var(--shu)}.kpi.band-low .kpi-num{color:var(--shu-text)}.cov-row{display:grid;grid-template-columns:6rem 1fr 5.6rem;align-items:center;gap:.7rem;margin:.45rem 0}.cov-label{font-size:.85rem}.cov-bar{display:block;height:.5rem;background:#efece3;border-radius:999px;overflow:hidden}.cov-fill{display:block;height:100%;background:var(--ai)}.cov-fill.band-good{background:var(--wakaba-text)}.cov-fill.band-mid{background:var(--kin)}.cov-fill.band-low{background:var(--shu)}.cov-num{font-size:.85rem;font-variant-numeric:tabular-nums;text-align:right}.focus-item{display:flex;gap:.8rem;padding:.7rem .1rem;border-bottom:1px dashed var(--line)}.focus-item:last-of-type{border-bottom:none}.focus-item .tag{flex:none;font-size:.7rem;color:#fff;background:var(--shu);padding:.1rem .5rem;border-radius:3px;height:fit-content;letter-spacing:.06em;margin-top:.3rem}.focus-item .tag.differs{background:var(--kin-text)}.focus-body{flex:1}.focus-body .why{display:block;font-size:.8rem;color:var(--muted)}.note-shu{border-top-color:var(--shu)}.plain-list{margin:.6rem 0 0;padding-left:1.1rem}.plain-list li{margin:.3rem 0}.plain-list .why{display:block;font-size:.8rem;color:var(--muted)}.cov-group{margin-top:.9rem}.cov-group h3{font-size:.9rem;margin:0 0 .3rem}.check-list{list-style:none;margin:0;padding:0}.check-list li{position:relative;padding-left:1.3rem;font-size:.88rem;margin:.18rem 0}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:700}.check-list li.v-differs:before{content:"!";color:var(--kin-text)}.check-list li.v-missing:before{content:"×";color:var(--shu)}.check-list li.v-unknown:before{content:"?";color:var(--muted)}.check-list .verdict-note{font-size:.75rem;color:var(--muted);margin-left:.4rem}@media(max-width:720px){.kpis{grid-template-columns:repeat(2,1fr)}.cov-row{grid-template-columns:5rem 1fr 4.6rem}}.score{font-weight:700;font-variant-numeric:tabular-nums}.score.band-good{color:var(--wakaba-text)}.score.band-mid{color:var(--kin-text)}.score.band-low{color:var(--shu-text)}.page.wide{max-width:1080px}.matrix-wrap{overflow-x:auto}.matrix{border-collapse:collapse;width:100%;min-width:680px}.matrix th,.matrix td{border-bottom:1px solid var(--line);padding:.6rem .7rem;text-align:center;font-size:.85rem}.matrix thead th{background:var(--washi);color:var(--ai);font-weight:700;font-size:.8rem;border-bottom:2px solid var(--ai)}.matrix tbody th.staff-col,.matrix thead th.staff-col{text-align:left;white-space:nowrap;background:var(--washi);font-weight:500}.matrix .trend{display:block;font-size:.68rem;color:var(--muted)}.matrix .cell-link,.matrix .hanko-link{text-decoration:none;color:inherit;display:inline-block}.matrix .cell-link:hover .score{text-decoration:underline;text-underline-offset:3px}.hanko{display:inline-grid;place-items:center;width:44px;height:44px;border:2.5px solid var(--shu);border-radius:50%;color:var(--shu);font-family:var(--font-display);font-weight:800;font-size:.62rem;line-height:1.15;transform:rotate(-6deg);background:radial-gradient(circle at 30% 30%,#c73e3a1a,#c73e3a08)}.legend{display:flex;gap:1.1rem;flex-wrap:wrap;padding:.7rem .2rem 0;font-size:.75rem;color:var(--muted);border-top:1px solid var(--line);margin-top:.7rem}.legend b{font-weight:700}.legend .b-good{color:var(--wakaba-text)}.legend .b-mid{color:var(--kin-text)}.legend .b-low{color:var(--shu-text)}.legend .b-shu{color:var(--shu)}.grid2{display:grid;grid-template-columns:1.25fr 1fr;gap:1.2rem;align-items:start}.chart-keys{display:flex;gap:1rem;flex-wrap:wrap;font-size:.75rem;color:var(--muted);margin:.8rem 0 .3rem}.chart-keys .key{display:flex;align-items:center;gap:.35rem}.chart-keys .sw{width:14px;height:3px;border-radius:2px}.chart-keys .sw.dashed{height:0;border-top:1px dashed #8A8880}svg text{font-family:var(--font-body)}@media(max-width:820px){.grid2{grid-template-columns:1fr}}.evidence-media{display:block;margin-top:.5rem;width:100%;max-width:420px;border-radius:4px;border:1px solid var(--line);background:#000}.evaluated-video{display:block;width:100%;max-width:720px;border-radius:4px;border:1px solid var(--line);background:#000}.step-block{margin:1.6rem 0}.step-block>h2{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;padding-bottom:.3rem;border-bottom:2px solid var(--line)}.step-body{background:var(--washi)}.step-shot{display:block;width:100%;max-width:460px;border-radius:4px;border:1px solid var(--line);margin-bottom:.6rem}.step-actions{margin:0 0 .6rem;line-height:1.8}.step-meta{display:grid;grid-template-columns:auto 1fr;gap:.3rem .8rem;margin:0}.step-meta dt{color:var(--muted);font-size:.85rem;white-space:nowrap}.step-meta dd{margin:0}.step-block .question{margin-left:1rem;border-left:3px solid var(--shu)}.card-head{display:flex;align-items:baseline;gap:.8rem}.card-head h2,.card-head .link{margin:0}ul.files,ol.files{list-style:none;padding:0;margin:0}ul.files li,ol.files li{display:flex;align-items:baseline;gap:.5rem;padding:.15rem 0}ol.files .no{color:var(--muted);font-size:.78rem;white-space:nowrap;min-width:4.5em}button.link.file{margin:0;text-align:left;overflow-wrap:anywhere}.badge.sub{margin-left:.5rem;font-size:.7rem;color:var(--muted)}.row-click{cursor:pointer}.row-click:hover{background:color-mix(in srgb,var(--ai) 5%,transparent)}.row-detail>td{background:color-mix(in srgb,var(--fg) 3%,transparent)}.row-detail .kv{grid-template-columns:9rem 1fr}.row-detail details{margin-top:.6rem}.row-detail summary{cursor:pointer;color:var(--ai)}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#13253c8c;display:grid;place-items:center;padding:1.2rem}.modal{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:1rem 1.2rem;width:min(900px,100%);max-height:90dvh;overflow:auto}.modal-head{display:flex;align-items:baseline;gap:.8rem;margin-bottom:.8rem}.modal-head .link{margin:0}.modal-title{overflow-wrap:anywhere}.modal-media{width:100%;max-height:65dvh;background:#000;border-radius:4px}.modal-frame{width:100%;height:65dvh;border:1px solid var(--line);background:#fff}.kpi.tasting-head{grid-column:1 / -1}.kpi.tasting-head .kpi-num{font-size:1.6rem}.tasting-sep{margin:0 .5rem;color:var(--muted);font-weight:600}.tasting-wait{font-size:1rem;font-weight:600;color:var(--muted)}.tasting-entry{padding:.7rem .1rem;border-bottom:1px dashed var(--line)}.tasting-entry:last-of-type{border-bottom:none}.tasting-entry-head{display:flex;align-items:baseline;gap:.8rem}.tasting-total{font-family:var(--font-display);font-size:1.2rem;color:var(--ai)}.tasting-comment{margin:.4rem 0 0;font-size:.9rem}.tasting-form{margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--line)}.tasting-form h3{font-size:.95rem;margin:0 0 .2rem}.tasting-form-axis{margin-bottom:.4rem}.tasting-scale{display:flex;gap:.9rem;margin:.3rem 0 .4rem}.tasting-scale-item{display:inline-flex;align-items:center;gap:.3rem;margin:0;font-weight:600;color:var(--fg);cursor:pointer}.tasting-scale-item input{margin:0}.lang-switch{display:inline-flex;align-items:center;gap:.35rem}.lang-switch .link{margin:0}.lang-switch .link.active{font-weight:700;text-decoration:underline}.login-lang{text-align:right;margin-bottom:.4rem}.completeness{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.completeness>summary{cursor:pointer;color:var(--ai)}.completeness>summary .ttl{font-weight:600;margin-right:.5rem}.completeness>summary .badge{vertical-align:middle}.completeness .metrics{margin-top:.6rem;grid-template-columns:9rem 1fr}.badge.tier-A{border-color:var(--ok);color:var(--ok)}.badge.tier-B{border-color:var(--ai);color:var(--ai)}.badge.tier-C{border-color:var(--shu);color:var(--shu)}.badge.tier-D{border-color:var(--err);color:var(--err)}.prep{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.prep li{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.prep .nm{min-width:10rem}.prep select{max-width:22rem}.badge.stage-registering{border-color:var(--line);color:var(--muted)}.badge.stage-generating{border-color:var(--ai);color:var(--ai)}.badge.stage-failed{border-color:var(--err);color:var(--err)}.badge.stage-awaiting{border-color:var(--kin);color:var(--kin-text)}.badge.stage-reviewing{border-color:var(--ai);color:var(--ai)}.badge.stage-regenerating{border-color:var(--kin);color:var(--kin-text)}.badge.stage-approving{border-color:var(--kin);color:var(--kin-text);background:#fbf4e4}.badge.stage-approved{border-color:var(--ok);color:var(--ok)}.stage-cell{display:flex;flex-direction:column;gap:.25rem}.stage-head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.col-stage{min-width:16rem}.stage-progress{display:inline-flex;align-items:center;gap:.4rem}.stage-bar{display:inline-block;width:4.5rem;height:.4rem;background:#efece3;border-radius:999px;overflow:hidden}.stage-fill{display:block;height:100%;background:var(--ai)}.stage-num{font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}.stage-legend{display:flex;flex-wrap:wrap;align-items:center;margin:-.4rem 0 1rem}.stage-legend .arrow{margin:0 .4rem;color:var(--line)}.stage-note{margin:.2rem 0 1.2rem}.rename{margin-bottom:1.2rem}.rename input{max-width:28rem}.rename-actions{margin-top:1rem;display:flex;align-items:center;gap:.4rem}.rename-actions button{margin:0}.remove-step{display:inline-flex;align-items:center;gap:.4rem;margin:.1rem 0 .6rem;font-size:.9rem;cursor:pointer}.remove-step input{width:1rem;height:1rem}.step-block.removed>h2{text-decoration:line-through;opacity:.7}.step-block.removed .step-body,.step-block.removed .question{opacity:.45}.materials-table{width:100%;border-collapse:collapse;font-size:.95rem}.materials-table th,.materials-table td{padding:.5rem .6rem;border-bottom:1px solid var(--line, #ddd);vertical-align:top;text-align:left}.materials-table th{font-weight:700;white-space:nowrap}.materials-table tr.servings-row td{background:#1e3a5f0a}.materials-table tr.placeholder td:first-child{border-left:3px solid var(--shu)}.mat-name{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.mat-field{display:inline-flex;align-items:center;gap:.4rem;flex-wrap:wrap}.mat-field input{width:11rem;max-width:100%}@media(max-width:640px){html{-webkit-text-size-adjust:100%}.page{padding:1rem .8rem calc(5rem + env(safe-area-inset-bottom))}h1{font-size:1.25rem}h2{font-size:1rem}.nav{flex-wrap:wrap;gap:.4rem .9rem;padding:.55rem .9rem}.nav .brand{order:0;margin-right:auto}.nav .lang-switch{order:1}.nav>a{order:2;padding:.3rem .1rem;font-size:.92rem}.nav>button.link{order:3;margin:0 0 0 auto}.nav>.spacer{display:none}.nav>.muted.small{display:none}.page-head{flex-wrap:wrap;gap:.5rem}.page-head h1{flex:1 1 100%}.page-head .button,.page-head button{width:100%;text-align:center;margin-top:.2rem}.card{padding:1rem .9rem}input[type=text],input[type=email],input:not([type]),textarea,select{font-size:16px}button,.button{min-height:44px}.card>button:not(.link),.card>.button{display:block;width:100%;text-align:center;margin-top:.6rem}button.link{min-height:0}.table thead{display:none}.table tr{display:block;background:var(--paper);border:1px solid var(--line);border-radius:2px;margin-bottom:.7rem;padding:.5rem .8rem}.table td{display:flex;gap:.7rem;align-items:baseline;padding:.28rem 0;border:0;font-size:.95rem}.table td[data-label]:before{content:attr(data-label);flex:none;min-width:4.2rem;font-size:.72rem;color:var(--muted);letter-spacing:.06em}.table td.toggle-cell{display:none}.table tr.row-detail{margin-top:-.7rem;border-top:0}.table tr.row-detail>td{display:block}.col-stage{min-width:0}.stage-legend{font-size:.78rem}.kv{grid-template-columns:1fr;gap:.1rem .8rem}.kv dt{margin-top:.5rem}.row-detail .kv,.completeness .metrics{grid-template-columns:1fr}.prep .nm{min-width:0}.prep select,.rename input{max-width:100%}.filters{gap:.35rem}.chip{padding:.35rem .8rem;font-size:.85rem;min-height:36px}.step-block .question{margin-left:0}.question{padding:.8rem}.q-options .chip{width:100%}.step-meta{grid-template-columns:1fr;gap:.05rem}.step-meta dt{margin-top:.4rem;white-space:normal}.step-shot{max-width:100%}.remove-step{padding:.35rem 0}.remove-step input{width:1.25rem;height:1.25rem}.save-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;margin:0;border-radius:0;border-left:0;border-top:3px solid var(--shu);padding:.6rem .9rem calc(.6rem + env(safe-area-inset-bottom));flex-wrap:wrap}.save-bar button{flex:1 1 100%}.materials-table,.materials-table tbody{display:block}.materials-table thead{display:none}.materials-table tr{display:block;padding:.5rem 0;border-bottom:1px solid var(--line)}.materials-table tr.placeholder td:first-child{border-left:0}.materials-table tr.placeholder{border-left:3px solid var(--shu);padding-left:.6rem}.materials-table td{display:block;padding:.15rem 0;border:0}.materials-table td[data-label]:not(:first-child):before{content:attr(data-label);display:block;font-size:.72rem;color:var(--muted);letter-spacing:.06em}.materials-table td:first-child{font-weight:700}.materials-table tr.servings-row{background:#1e3a5f0a;padding:.5rem}.materials-table tr.servings-row td{background:none}.mat-field,.mat-field input{width:100%}.usage-cell{font-size:.8rem}.materials-table tr.servings-row .usage-cell{display:none}.modal-back{padding:0}.modal{width:100%;max-height:100dvh;border-radius:0;padding:.8rem .9rem}.viewer{height:auto;min-height:calc(100dvh - 6.5rem)}.viewer-frame{min-height:75dvh}.viewer-bar,.viewer-note{padding-left:.9rem;padding-right:.9rem;flex-wrap:wrap}.tasting-scale{flex-wrap:wrap;gap:.6rem .9rem}.kpis{grid-template-columns:repeat(2,1fr);gap:.5rem}.kpi-num{font-size:1.5rem}ol.parts li{flex-wrap:wrap}ol.parts .nm{flex:1 1 100%;white-space:normal}}.remove-ingredient{font-size:.8rem;margin:.2rem 0 0}.pending-adds{list-style:none;margin:.6rem 0 0;padding:0}.pending-adds li{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;padding:.25rem 0;border-bottom:1px dashed var(--line)}.pending-adds li .link{margin:0}.add-ingredient{margin-top:.9rem;padding-top:.7rem;border-top:1px solid var(--line)}.add-ingredient-row{display:grid;grid-template-columns:1.4fr 1fr 1.2fr auto;gap:.4rem;align-items:end;margin-top:.3rem}.add-ingredient-row input,.add-ingredient-row select{margin-top:0}.add-ingredient-row button{margin:0;white-space:nowrap}@media(max-width:640px){.add-ingredient-row{grid-template-columns:1fr}.add-ingredient-row button{width:100%}}.edit-field{margin-top:.7rem}.edit-field label{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:0}.edit-field label .link{margin:0;font-size:.8rem;font-weight:400}.edit-field.edited>label{color:var(--shu)}.edit-field.edited input,.edit-field.edited textarea{border-color:var(--shu);background:#fffcfa}.edit-field.dirty input,.edit-field.dirty textarea{border-color:var(--ai);box-shadow:inset 3px 0 0 var(--ai)}.edit-row{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:.6rem}.step-block .fix-step{margin:.2rem 0 .4rem}.step-edit{border-left:3px solid var(--ai)}.step-edit-actions{display:flex;gap:.8rem;align-items:center;margin-top:.8rem}.step-edit-actions .link{margin:0}.raw-materials .raw-row{border-left:3px solid var(--line);padding:.2rem 0 .2rem .7rem;margin:.5rem 0}.raw-materials .raw-grid{margin-top:.35rem;align-items:center}.raw-materials .raw-grid .link{margin:0;justify-self:start}.raw-materials input.invalid{border-color:var(--shu)}.raw-materials>.link{margin:.3rem 0 0}.mat-raw{margin:.15rem 0 0;padding-left:1rem;list-style:circle}.fix-raw{display:block;margin:.2rem 0;font-size:.85rem}.raw-edit-row td{background:var(--washi)}.raw-panel{border-left:3px solid var(--ai);padding:.4rem .8rem}.move-raw{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:.3rem 0;font-size:.85rem;font-weight:400}.move-raw select{width:auto;min-width:8rem}.move-raw .link{margin:0}@media(max-width:640px){.edit-row{grid-template-columns:1fr}}.prereq-list{margin-top:.8rem}.prereq-list li{margin:.4rem 0}.prep-proc{margin:.3rem 0 .3rem .4rem;padding-left:.6rem;border-left:3px solid var(--ai)}.prep-proc p{margin:.2rem 0}.prep-proc ol{margin:.2rem 0;padding-left:1.4em}.prep-import{margin-top:.5rem}.prep-import-panel{border-left:3px solid var(--ai);padding:.4rem .8rem;background:var(--washi)}.prep-import-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.4rem 0}.prep-import-row select{max-width:100%}.prep-failure{border-left:3px solid var(--shu);padding:.4rem .8rem;background:var(--washi);margin:.3rem 0}.prep-failure p{margin:.25rem 0}.prep-choices .chip{font-size:.85rem}.prep-alert{border-color:var(--shu);border-left-color:var(--shu);margin:.6rem 0}.prep-alert .prep-failure{border-left:0;padding:0;background:none;margin:0}.dish-actions{display:flex;flex-wrap:wrap;gap:1rem}.danger-link{color:var(--shu)}button.danger{background:var(--shu);border-color:var(--shu);color:#fff}.delete-dish{border-color:var(--shu);border-left-color:var(--shu);color:var(--fg)}.delete-dish input{display:block;width:100%;max-width:28rem;margin-top:.2rem}.remaining{border-left:3px solid var(--shu)}.remaining ol{margin:.4rem 0 0;padding-left:1.4em}.remaining li{margin:.3rem 0}
