.dp-objectives{margin-top:24px;padding:24px;border:1px solid #bfdde3;border-radius:14px;background:linear-gradient(125deg,#fff,#eaf6f5)}
.dp-objectives p{margin:8px 0 18px;color:var(--soft)}
.dp-process{display:grid;grid-template-columns:1fr 1fr;gap:10px;font:500 13px var(--mono);color:var(--accent-dark)}
.dp-process span{padding:10px 12px;border-radius:8px;background:#ffffffb3}
.dp-legend{font-size:12px;color:var(--soft);margin:0 0 16px!important}
.dp-state-strip{min-height:58px;padding:14px 16px;margin:12px 0;border:1px solid var(--line);border-radius:9px;background:#f7f9fc;font:500 14px/1.6 var(--mono);overflow-wrap:anywhere}
.dp-stack{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.dp-table td{min-width:49px;height:48px;transition:background-color .25s,color .25s;}
.dp-table td.active,.chip.active{animation:dp-focus .35s ease-out}
.dp-table td.dependency,.chip.dependency{background:#eee8ff;color:#5935a3;box-shadow:inset 0 0 0 2px #8062bc}
.dp-table td.solution{background:#d7f4eb;color:#07594f;box-shadow:inset 0 0 0 2px #0f766e}
.rod-track{display:flex;gap:5px;min-height:68px;padding:10px;margin:16px 0;background:#f2f5f9;border-radius:10px;align-items:stretch}
.rod-track>span{display:flex;align-items:center;justify-content:center;min-width:28px;border-radius:6px;font:600 16px var(--mono)}
.rod-piece{background:#b45309;color:white;animation:dp-cut .35s ease-out}
.rod-remainder{background:#eee8ff;color:#5935a3;animation:dp-cut .35s ease-out}
#rod-values .chip,#fib-table .chip{min-width:108px;text-align:center}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.kp-recurrence-lesson{margin:28px 0}
.kp-symbols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:20px 0;border:1px solid var(--line);border-radius:10px;background:#f6f9fc;overflow:hidden}
.kp-symbols>div{padding:14px;border-right:1px solid var(--line)}
.kp-symbols>div:last-child{border-right:0}
.kp-symbols dt{color:var(--accent-dark);font:600 19px var(--mono)}
.kp-symbols dd{margin:7px 0 0;color:var(--soft);font-size:14px;line-height:1.6}
.kp-case-list{margin:22px 0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.kp-case-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:20px;padding:20px;border-bottom:1px solid var(--line)}
.kp-case-row:last-child{border-bottom:0}
.kp-case-row h4{margin:0 0 8px;font-size:17px}
.kp-case-row p{margin:0;font-size:15px;line-height:1.65}
.kp-case-expression{padding:14px;border-radius:8px;background:#f5f7fb;font:500 15px/1.9 var(--mono);overflow-wrap:anywhere}
.kp-take{color:#087869}
.kp-skip{color:#275eb5}
.kp-worked-check{margin-bottom:26px}
.lcs-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}
.lcs-inputs>div{padding:16px;border:1px solid var(--line);border-radius:10px;background:#f6f9fc}
.lcs-inputs dt{color:var(--soft);font-size:14px}
.lcs-inputs dd{margin:9px 0 0;color:var(--accent-dark);font:600 24px/1.5 var(--mono);letter-spacing:.13em}
.lcs-rules{margin:20px 0;border:1px solid var(--line);border-radius:10px;background:white;overflow:hidden}
.lcs-rules>div{padding:17px 20px;border-bottom:1px solid var(--line)}
.lcs-rules>div:last-child{border-bottom:0}
.lcs-rules strong{display:block;margin-bottom:7px;color:var(--accent-dark);font-family:var(--display)}
.lcs-rules span{display:block;font:500 16px/1.75 var(--mono);overflow-wrap:anywhere}
.lcs-rules p{margin:7px 0 0;font-size:15px;color:var(--soft)}
.lcs-transitions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:22px 0}
.lcs-transitions>div{padding-left:15px;border-left:3px solid #97c7bb}
.lcs-transitions>div:last-child{border-color:#b8a0d6}
.lcs-transitions>div>strong{display:block;margin-bottom:8px;font-family:var(--display)}
.lcs-transitions p{margin:0;font-size:15px}
.lcs-live-strings{display:grid;gap:12px;margin:16px 0}
.lcs-live-sequence{display:flex;align-items:center;gap:7px}
.lcs-live-sequence>strong{flex:0 0 24px;color:var(--accent-dark);font-family:var(--mono)}
.lcs-letter{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 1 43px;min-width:24px;min-height:54px;border:1px solid var(--line);border-radius:7px;background:#f7f9fc}
.lcs-letter b{font:600 17px var(--mono)}
.lcs-letter small{margin-top:3px;color:var(--soft);font:11px var(--mono)}
.lcs-letter.selected{border-color:#0f766e;background:#d7f4eb;color:#07594f}
.lcs-letter.current{border-color:#b45309;background:#fdf1df}
.lcs-trace-audit{margin:22px 0}
.lcs-trace-audit table{min-width:650px;font-size:14px}
#sec-lcs>.card{margin:14px 0}
@media(max-width:600px){.lcs-inputs,.lcs-transitions{grid-template-columns:minmax(0,1fr)}.lcs-inputs dd{font-size:22px}.lcs-live-sequence{gap:4px}.lcs-letter{flex-basis:34px}.lcs-rules>div{padding:15px}}
.matrix-symbols,.matrix-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0;border:1px solid var(--line);border-radius:10px;background:#f6f9fc;overflow:hidden}
.matrix-symbols>div,.matrix-inputs>div{padding:16px;border-right:1px solid var(--line)}
.matrix-symbols>div:last-child,.matrix-inputs>div:last-child{border-right:0}
.matrix-symbols dt,.matrix-inputs dt{color:var(--accent-dark);font:600 21px var(--mono)}
.matrix-symbols dd{margin-top:8px;color:var(--soft);font-size:15px;line-height:1.6}
.matrix-inputs dd{margin:8px 0 0}
.matrix-inputs strong{display:block;font:600 24px/1.5 var(--mono);color:var(--ink)}
.matrix-inputs dd span{display:block;margin-top:5px;color:var(--soft);font-size:14px}
.matrix-rule-readout{margin:20px 0 28px;padding-left:18px;border-left:3px solid var(--accent)}
.matrix-rule-readout>strong{display:block;margin-bottom:6px;font-family:var(--display)}
.matrix-order-lesson .answer p:last-child{margin-bottom:0}
.matrix-cost-audit{margin:20px 0}
.matrix-cost-table{min-width:690px;font-size:14px}
.matrix-cost-table td:last-child{white-space:nowrap;font-family:var(--mono)}
.section .matrix-orders-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;list-style:none;counter-reset:matrix-order;margin:18px 0 22px;padding:0}
.matrix-orders-list li{counter-increment:matrix-order;margin:0;padding:12px 0;border-bottom:1px solid var(--line);font:500 17px/1.6 var(--mono)}
.matrix-orders-list li::before{content:counter(matrix-order) ". ";color:var(--soft);font-size:13px}
@media(max-width:600px){.matrix-symbols{grid-template-columns:minmax(0,1fr)}.matrix-symbols>div{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;border-right:0;border-bottom:1px solid var(--line);padding:13px}.matrix-symbols>div:last-child{border-bottom:0}.matrix-symbols dd{margin:0}.matrix-inputs>div{padding:11px}.matrix-inputs strong{font-size:20px}.matrix-inputs dd span{font-size:12px}.section .matrix-orders-list{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){.kp-symbols{grid-template-columns:repeat(2,minmax(0,1fr))}.kp-symbols>div{border-bottom:1px solid var(--line)}.kp-symbols>div:nth-child(even){border-right:0}.kp-symbols>div:nth-last-child(-n+2){border-bottom:0}.kp-case-row{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px}}
/* Native lecture figures; the drawing and text are part of this document. */
.ppt-figure{margin:26px 0;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}
.diagram-tools{display:flex;justify-content:flex-end;margin-bottom:14px}
.diagram-open{padding:4px 11px;border:1px solid #d5e2eb;border-radius:6px;background:#f5f8fb;color:#36526b;cursor:zoom-in;font:600 12px/1.6 var(--body)}
.diagram-open:focus-visible{outline:3px solid #0b7285;outline-offset:4px}
.diagram-open:hover{background:#e7f3f5;border-color:#96c5ce;color:var(--accent-dark)}
.ppt-figure figcaption{margin-top:16px;padding-top:12px;border-top:1px solid #edf1f6;color:var(--soft);font-size:13px;line-height:1.65}
/* These diagrams are page elements: their text uses the chapter typography. */
.native-diagram{container-type:inline-size;min-width:0;color:var(--ink);font:.9em/1.55 var(--body);--nd-accent:#36526d;--nd-tint:#f4f7fb}
.native-diagram p{max-width:none;margin:0 0 .8em}
.native-diagram p:last-child{margin-bottom:0}
.native-diagram .nd-heading{font:600 1em/1.5 var(--body);margin-bottom:.8em}
.native-diagram .nd-muted{color:var(--soft);font-size:.9em}
.nd-center{text-align:center}
.nd-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;margin:16px 0}
.nd-two-col>*{min-width:0}
.nd-blue{--nd-accent:#275eb5;--nd-tint:#edf4ff}
.nd-green{--nd-accent:#087b63;--nd-tint:#eaf7f2}
.nd-purple{--nd-accent:#7850ad;--nd-tint:#f2ecfa}
.nd-amber{--nd-accent:#a95d0a;--nd-tint:#fff5e6}
.nd-panel{min-width:0;padding:18px;border:1px solid #cfdae6;border-radius:9px;background:var(--nd-tint,#fff)}
.nd-panel>strong{display:block;color:var(--nd-accent);margin-bottom:.65em}
.nd-note,.nd-result{margin:16px 0;padding:13px 16px;border-radius:8px;background:var(--nd-tint);color:var(--nd-accent);overflow-wrap:anywhere}
.nd-result{font-weight:600;text-align:center}
.nd-result:last-child{margin-bottom:0}
.nd-flow-arrow{margin:10px 0;color:var(--nd-accent);text-align:center;line-height:1;font-size:1.1em}
.nd-equation,.nd-math{font-family:var(--mono);font-size:.92em;overflow-wrap:anywhere}
.nd-math{display:inline-block;padding:7px 11px;border-radius:6px;background:var(--nd-tint);color:var(--nd-accent);font-weight:600}
.nd-cost{color:#a95d0a;font-size:.95em;font-weight:500}
.native-diagram table{width:100%;font-size:inherit;font-variant-numeric:tabular-nums}
.native-diagram caption{padding:0 0 12px;color:var(--soft);font-size:.85em;text-align:left;caption-side:top}
.native-diagram .nd-data-table :is(th,td){padding:12px 10px;border:1px solid #d9e2ec;text-align:center}
.native-diagram .nd-data-table th{font-family:var(--body);font-weight:600;font-size:.9em}
.native-diagram .nd-data-table tbody th{text-align:left}
.nd-capacity{display:flex;height:58px;margin:18px 0 8px;border:1px solid #9ebbd3;border-radius:8px;overflow:hidden}
.nd-capacity>span{display:flex;align-items:center;justify-content:center;background:#275eb5;color:#fff}
.nd-capacity>span+span{border-left:2px solid white;background:#edf2f7;color:var(--soft);font-size:.9em}
.nd-choices{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px 10px;margin:22px 0}
.nd-item-choice{flex:1 1 120px;text-align:center}
.nd-item-choice>strong{display:inline-block;padding:8px 15px;border:1px solid #b8cce3;border-radius:7px;background:#edf4ff;color:#275eb5;font-size:.95em}
.nd-choice-branches{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:28px;font-size:.82em}
.nd-choice-branches::before{content:"";position:absolute;top:-17px;left:25%;right:25%;height:15px;border:1px solid #b4c5d7;border-bottom:0}
.nd-choice-branches::after{content:"";position:absolute;top:-28px;left:50%;height:12px;border-left:1px solid #b4c5d7}
.nd-choice-branches>span{padding:7px 3px;border-radius:6px;background:#eaf7f2;color:#087b63}
.nd-choice-branches>span+span{background:#f2ecfa;color:#7850ad}
.nd-ellipsis{flex:0 0 15px;color:var(--soft)}
.native-diagram .nd-case-flow{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.native-diagram .nd-case-flow>li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:14px;max-width:none;margin:0;padding:20px 16px;border:1px solid #d6e1ec;border-radius:9px}
.nd-case-number{width:30px;height:30px;display:grid;place-items:center;background:#edf4ff;color:#275eb5;border-radius:50%;font-size:.9em;font-weight:600}
.nd-case-flow .nd-heading{margin-bottom:.45em}
.native-diagram .nd-otherwise{margin-bottom:10px;color:var(--soft);font-size:.85em}
.nd-matrix-operation,.nd-cost-operation{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr) 20px minmax(0,1fr);align-items:center;gap:12px;margin:10px 0 22px;text-align:center}
.nd-matrix-card{padding:15px 8px;border:1px solid #cfdae6;border-radius:9px}
.nd-matrix-card>strong{display:block;color:#275eb5;font-size:1em}
.nd-dimensions{display:flex;justify-content:center;align-items:center;gap:13px;margin:14px 0;color:#275eb5;font:600 1em var(--mono)}
.nd-dimensions>span:not(.nd-shared){color:var(--soft)}
.nd-shared{padding:7px 10px;border-radius:6px;background:#e8f7f5;color:#087f8c}
.nd-operator{color:var(--soft);font-size:1em}
.nd-cost-operation .nd-panel{padding:14px 8px}
.nd-cost-operation .nd-panel>strong{margin:0 0 8px;font-family:var(--mono);font-size:.95em}
.nd-cost-operation .nd-panel>span{display:block;color:var(--soft);font-size:.8em}
.nd-order{color:var(--ink)}
.nd-order>.nd-heading{color:var(--nd-accent)}
.nd-order>.nd-panel{background:#fff;text-align:center}
.nd-order .nd-math{margin-bottom:12px}
.native-diagram .nd-order .nd-result{margin-top:18px}
.native-diagram .nd-dimension-vector{display:flex;justify-content:center;gap:10px;list-style:none;margin:0 0 24px;padding:0}
.native-diagram .nd-dimension-vector>li{flex:1 1 0;max-width:88px;margin:0;padding:10px 5px;border:1px solid #cfdae6;border-radius:7px;text-align:center}
.nd-dimension-vector strong,.nd-dimension-vector span{display:block}
.nd-dimension-vector strong{color:#275eb5;font:600 1em var(--mono)}
.nd-dimension-vector span{margin-top:6px;color:var(--soft);font-size:.75em}
.nd-cut-grid{gap:14px}
.nd-cut-option{padding:15px;background:#fff}
.nd-cut-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:5px 12px;margin-bottom:12px;font-size:.87em}
.nd-cut-heading>span{color:var(--soft)}
.nd-rod-pieces{display:flex;gap:4px}
.nd-rod-piece{min-width:0;text-align:center}
.nd-piece-price{display:block;color:var(--soft);font-size:.85em;margin-bottom:5px}
.nd-piece-length{display:block;padding:5px 0;border:1px solid #b9cce5;border-radius:4px;background:#edf4ff;color:#275eb5;font-size:.9em;font-weight:600}
.nd-rod-piece:nth-child(even) .nd-piece-length{border-color:#a8d1c5;background:#eaf7f2;color:#087b63}
.nd-best{border:2px solid #4d9d84;background:#f5fcf9}
.nd-sequences{margin:24px 0}
.nd-sequence-row{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));align-items:center;text-align:center}
.nd-sequence-name{font-family:var(--mono);color:#275eb5}
.nd-lcs-character{display:flex;flex-direction:column;gap:5px;padding:0 4px;color:#748195}
.nd-lcs-character>small{font-size:.7em;color:var(--soft)}
.nd-lcs-character>b{display:grid;place-items:center;height:42px;border:1px solid #cfdae6;border-radius:6px;background:#f3f6fa;font:600 1em var(--mono)}
.nd-lcs-character.nd-selected>b{border-color:#8fc7b5;background:#e5f6ef;color:#087b63}
.nd-lcs-links{display:block;width:100%;height:54px;overflow:visible}
.nd-lcs-links line{stroke:#80b8b2;stroke-width:1.5;vector-effect:non-scaling-stroke}
.nd-selected-positions{text-align:center;gap:12px}
.native-diagram .nd-selected-positions>p{margin:0;font-size:.85em}
.nd-traceback-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(220px,1fr);gap:22px;align-items:start;margin-top:20px}
.nd-pan{min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding:3px}
.nd-pan:focus-visible{outline:2px solid #0b7285;outline-offset:2px;border-radius:5px}
.native-diagram .nd-lcs-matrix{min-width:440px;table-layout:fixed;font-size:.875em;border-collapse:collapse}
.native-diagram .nd-lcs-matrix :is(th,td){position:relative;height:52px;padding:12px 5px;border:1px solid #cfdae6;text-align:center;font-family:var(--body)}
.native-diagram .nd-lcs-matrix th{font-size:.8em;white-space:nowrap;background:#eef3f9;color:var(--ink)}
.native-diagram .nd-lcs-matrix .nd-base{background:#f6f8fb}
.native-diagram .nd-lcs-matrix .nd-on-path{background:#f0eafb;font-weight:600}
.native-diagram .nd-lcs-matrix .nd-match{background:#e5f6ef;color:#087b63;font-weight:600}
.nd-cell-arrow{position:absolute;right:4px;top:1px;color:#7850ad;font-size:.9em;font-weight:500;line-height:1.2}
.nd-match .nd-cell-arrow{color:#087b63}
.nd-terminal::after{content:"";position:absolute;inset:3px;border:2px solid #7850ad;border-radius:5px;pointer-events:none}
.nd-traceback-key .nd-note,.nd-traceback-key .nd-result{padding:12px;margin:12px 0;font-size:.9em}
.native-diagram .nd-traceback-key>p{font-size:.9em}
.native-diagram .nd-start-note{margin:16px 0 0;color:#7850ad;font-size:.85em;font-weight:600}
.nd-canvas{position:relative;width:100%;min-width:var(--canvas-min);isolation:isolate}
.nd-canvas>svg{position:absolute;inset:0;display:block;width:100%;height:100%}
.nd-placed-label{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;font:14px/1.2 var(--body)}
.nd-label-start{transform:translate(0,-50%)}
.nd-label-end{transform:translate(-100%,-50%)}
.native-diagram .nd-scroll-note{margin:10px 0 0;color:var(--soft);font-size:.75em}
.nd-graph{display:block;width:100%;height:auto;max-width:520px;margin:auto}
.nd-graph text,#fw-live-graph text{font-family:var(--body)}
@container(max-width:740px){.nd-traceback-layout{grid-template-columns:minmax(0,1fr)}.nd-traceback-key{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.nd-traceback-key>.nd-heading{grid-column:1/-1}}
@container(max-width:620px){.nd-two-col{grid-template-columns:minmax(0,1fr)}.nd-matrix-operation,.nd-cost-operation{grid-template-columns:minmax(0,1fr);gap:10px}.nd-matrix-card{width:100%;max-width:360px;margin:auto}.nd-dimensions{margin:12px 0}.nd-case-flow .nd-two-col{gap:12px}.nd-order-comparison{gap:28px}.nd-selected-positions{gap:6px}}
@container(max-width:400px){.native-diagram .nd-case-flow>li{padding:15px 10px;grid-template-columns:26px minmax(0,1fr);gap:9px}.nd-case-number{width:26px;height:26px}.nd-case-flow .nd-panel{padding:12px}.nd-traceback-key{display:block}.nd-lcs-character{padding:0 2px}.nd-lcs-character>b{height:36px}.nd-note,.nd-result{padding:12px}}
.fw-visual-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,1fr);align-items:center;gap:22px;margin:20px 0}
.fw-visual-row .ppt-figure,.fw-visual-row .table-wrap{margin:0}
.fw-visual-row .ppt-figure{border:0;padding:0}
.fw-live-drawing{min-width:0}
#fw-live-graph{display:block;width:100%;height:auto}
#fw-live-graph [data-vertex] circle{transition:fill .2s,stroke .2s}
#fw-live-graph .fw-intermediate circle{fill:#fff0cb;stroke:#b45309}
#fw-live-graph .fw-route path{stroke:#0f766e;stroke-width:4}
#fw-live-graph .fw-route polygon{fill:#0f766e}
#fw-live-graph .fw-route text{fill:#0f766e}
.diagram-dialog{position:fixed;inset:0;width:min(1120px,96vw);height:min(860px,92dvh);max-width:96vw;max-height:92dvh;margin:auto;padding:0;border:1px solid #c9d8e4;border-radius:16px;background:#fff;color:var(--ink);font:18px/1.68 var(--body);box-shadow:0 28px 100px #10233c4d;overflow:hidden}
.diagram-dialog[open]{display:flex;flex-direction:column}
.diagram-dialog::backdrop{background:#10233cb8;backdrop-filter:blur(4px)}
.diagram-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;border-bottom:1px solid var(--line)}
.diagram-dialog-header h2{margin:0;font:600 18px/1.4 var(--display)}
.diagram-dialog button{min-width:42px;min-height:40px;padding:6px 14px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font:600 15px var(--body);cursor:pointer}
.diagram-dialog button:hover{background:#eaf4f6}
.diagram-dialog button:disabled{opacity:.4;cursor:default}
#diagram-close{padding:0;font-size:26px;flex:0 0 42px}
.diagram-dialog-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 20px}
.diagram-dialog-toolbar span{margin-left:8px;color:var(--soft);font:13px/1.5 var(--body)}
.diagram-dialog-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:24px;background:#f2f6fa;scrollbar-gutter:stable}
.diagram-zoom-stage{position:relative;margin:0 auto}
.diagram-full-content{position:absolute;inset:0 auto auto 0;padding:22px;background:#fff;transform-origin:top left;box-shadow:0 2px 14px #17283e14}
.diagram-full-content .nd-pan{overflow:visible;max-width:none}
.diagram-full-content .nd-scroll-note{display:none}
@media(max-width:700px){.fw-visual-row{grid-template-columns:minmax(0,1fr)}.fw-live-drawing{width:100%;max-width:480px;margin:auto}.ppt-figure{padding:14px}.fw-visual-row .ppt-figure{max-width:480px;margin:auto}.diagram-dialog-header{padding:12px 14px}.diagram-dialog-toolbar{padding:10px 14px}.diagram-dialog-toolbar span{flex:1 0 100%;margin:0}.diagram-dialog-header h2{font-size:16px}}
@keyframes dp-focus{from{box-shadow:inset 0 0 0 4px #d99c39}to{box-shadow:inset 0 0 0 2px var(--amber)}}
@keyframes dp-cut{from{opacity:.6;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:650px){.dp-objectives{padding:18px}.dp-process{grid-template-columns:1fr}.dp-table td{min-width:40px}.dp-state-strip{font-size:12px}.rod-track{padding:6px;gap:3px}}
@media(prefers-reduced-motion:reduce){.dp-table td,.chip,.rod-track>span{animation:none;transition:none}}
