.pp{--pp-ink:#142f2a;--pp-forest:#103a32;--pp-green:#136654;--pp-mint:#d9e8d9;--pp-line:#d8e1d9;--pp-paper:#fff;--pp-sand:#f4f5ef;overflow:hidden;background:#f7f8f3;color:var(--pp-ink);line-height:1.6}
.pp *{box-sizing:border-box}
.pp button{cursor:pointer}
.pp h1,.pp h2,.pp h3,.pp p{margin-top:0}
.pp h2,.pp h3{font-weight:600}
.pp-hero{background:radial-gradient(circle at 80% 15%,#285c4d 0,transparent 34%),#103b32;color:#eef5ec;position:relative}
.pp-hero:before{content:"";position:absolute;inset:0;opacity:.16;background-image:linear-gradient(#b8d2c0 1px,transparent 1px),linear-gradient(90deg,#b8d2c0 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(90deg,transparent 15%,#000 100%)}
.pp-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:6%;align-items:center;min-height:570px;padding-top:30px;padding-bottom:60px}
.pp-crumb{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.04em;color:#b2cbbd;margin:0 0 80px}
.pp-crumb a{color:#d9e9dd;text-decoration:none}
.pp-crumb a:hover{text-decoration:underline}
.pp-kicker,.pp-section-index{font-size:11px;letter-spacing:.2em;font-weight:700;color:#a8d2b5;text-transform:uppercase}
.pp-kicker{display:flex;align-items:center;gap:15px;margin-bottom:15px}
.pp-kicker:before{content:"";width:20px;height:2px;background:#a8d2b5}
.pp-kicker span{font-weight:500;color:#94b9a6}
.pp-hero h1{font-size:clamp(46px,5.4vw,78px);line-height:1.13;letter-spacing:-.055em;font-weight:600;margin:0 0 24px;text-wrap:balance}
.pp-hero h1 em{font-style:normal;color:#afd3ae}
.pp-hero-lead{color:#d3e2d5;font-size:17px;max-width:570px;line-height:1.85;margin-bottom:28px}
.pp-hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.pp-hero-actions>span{font-size:12px;color:#b8d0c0}
.pp-primary,.pp-copy{border:1px solid #b4d4ae;background:#b4d4ae;color:#12382f!important;text-decoration:none;font-weight:700;padding:13px 20px;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:50px}
.pp-primary:hover,.pp-copy:hover{background:#d8e9d0;border-color:#d8e9d0}
.pp-hero-art{border:1px solid #7fad94;background:linear-gradient(165deg,#214e42,#173d34);box-shadow:20px 22px 0 #0a2c25,0 20px 50px #082b2466;transform:rotate(-1.5deg);padding:20px 24px 16px;position:relative}
.pp-hero-art:after{content:"";position:absolute;width:12px;height:12px;top:-6px;right:-6px;border:2px solid #bddebd;border-radius:50%;background:#19463b}
.pp-art-top,.pp-art-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;color:#b9d1bd;font:10px/1.4 ui-monospace,SFMono-Regular,monospace;letter-spacing:.13em}
.pp-art-top{padding-bottom:10px;border-bottom:1px solid #709b83}
.pp-art-bottom{padding-top:12px;border-top:1px solid #709b83}
.pp-hero-art svg{display:block;width:100%;height:auto}
.pp-art-pulse{width:8px;height:8px;flex:0 0 8px;background:#bde49f;border-radius:50%;box-shadow:0 0 0 5px #bde49f22}
.pp-workspace{padding-top:62px;padding-bottom:65px}
.pp-section-heading{border-top:1px solid #a5b9a9;padding:17px 0 26px;display:grid;grid-template-columns:165px minmax(0,1fr) minmax(250px,1.05fr);align-items:start;gap:20px}
.pp-section-heading .pp-section-index{color:#527968;padding-top:9px}
.pp-section-heading h2{font-size:30px;letter-spacing:-.035em;margin:0}
.pp-section-heading p{font-size:14px;color:#586c61;margin:3px 0 0;max-width:530px}
.pp-work-grid{display:grid;grid-template-columns:294px minmax(0,1fr);gap:22px;align-items:start}
.pp-controls{display:grid;gap:18px}
.pp-panel,.pp-line-panel,.pp-edit-panel{background:var(--pp-paper);border:1px solid var(--pp-line)}
.pp-panel{padding:23px}
.pp-panel-head{display:flex;align-items:baseline;gap:12px;margin-bottom:18px}
.pp-panel-head>span{color:#749482;font:11px ui-monospace,SFMono-Regular,monospace;white-space:nowrap}
.pp-panel-head h3{font-size:18px;margin:0}
.pp-materials{display:grid;gap:7px}
.pp-material{display:grid;grid-template-columns:36px minmax(0,1fr) 14px;align-items:center;gap:10px;text-align:left;width:100%;border:1px solid #e0e7df;background:#fff;color:var(--pp-ink);padding:11px 12px;min-height:64px;transition:background .2s,border-color .2s,transform .2s}
.pp-material:hover{border-color:#72a188;transform:translateX(2px)}
.pp-material.is-active{border-color:#176b56;background:#edf5eb;box-shadow:inset 3px 0 0 #176b56}
.pp-material-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid #c2d5c5;color:#17614e;font:600 13px ui-monospace,SFMono-Regular,monospace}
.pp-material strong,.pp-material small{display:block;line-height:1.4}
.pp-material strong{font-size:13px;font-weight:650}
.pp-material small{font-size:11px;color:#698073;margin-top:3px}
.pp-material-arrow{font-size:13px;color:#628571}
.pp-finish-panel label{font-size:12px;font-weight:700;color:#5d7467}
.pp-finish-panel select{width:100%;margin:6px 0 14px!important;border-color:#b9cfc0!important;background:#f8fbf7!important;min-height:45px}
.pp-finish-panel p{font-size:12px;line-height:1.7;color:#687b70;margin:0}
.pp-finish-panel .pp-purpose-label{display:block;margin-top:17px}.pp-finish-panel input[data-pp-purpose]{margin-top:6px!important;min-height:43px;border:1px solid #b9cfc0!important;background:#f8fbf7!important;font-size:13px;padding:9px 10px!important}
.pp-main{min-width:0;display:grid;gap:18px}
.pp-line-panel{min-width:0;overflow:hidden}
.pp-line-heading{padding:25px 27px 18px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.pp-line-heading .pp-section-index,.pp-edit-top .pp-section-index,.pp-output .pp-section-index{color:#5b826b}
.pp-line-heading h2{font-size:24px;margin:6px 0 6px;letter-spacing:-.03em}
.pp-line-heading p{font-size:13px;color:#667a6c;margin:0;max-width:570px}
.pp-line-tools{display:flex;align-items:center;gap:10px;flex-shrink:0;padding-top:2px}
.pp-step-total{font:12px ui-monospace,SFMono-Regular,monospace;color:#738a7c;white-space:nowrap}
.pp-play{border:1px solid #b2c9b7;color:#175a47;background:#f4f9f2;padding:7px 12px;font-size:12px;white-space:nowrap;min-height:34px}
.pp-play:hover{background:#e5f0e3}
.pp-line-scroll{overflow-x:auto;overflow-y:hidden;padding:20px 27px 30px;scrollbar-color:#9bb8a3 #eaf1e9;scrollbar-width:thin;background:linear-gradient(#f9fbf8,#f2f7f1)}
.pp-line{list-style:none;margin:0;padding:0 0 8px;display:flex;gap:12px;position:relative;min-width:max-content}
.pp-line:before{content:"";position:absolute;top:41px;left:18px;right:18px;height:3px;background:#aac8af}
.pp-station{width:158px;position:relative;z-index:1}
.pp-station>button{width:100%;height:225px;border:1px solid #d5e1d5;background:#fff;padding:12px;text-align:left;color:#16362d;display:flex;flex-direction:column;align-items:stretch;transition:transform .2s,border-color .2s,box-shadow .2s}
.pp-station>button:hover{transform:translateY(-3px);border-color:#7caa8d}
.pp-station.is-selected>button{border-color:#176650;box-shadow:0 8px 22px #1d503425,inset 0 3px 0 #176650}
.pp-station.is-playing>button{background:#e7f2e4;box-shadow:0 0 0 3px #81ac8d}
.pp-station.is-off>button{border-style:dashed;opacity:.67}
.pp-station-head{display:flex;justify-content:space-between;align-items:center;font:10px ui-monospace,SFMono-Regular,monospace;color:#718579;letter-spacing:.04em}
.pp-station-head i{width:8px;height:8px;border-radius:50%;background:#318166;box-shadow:0 0 0 4px #d9eadb}
.pp-station.is-neutral .pp-station-head i{background:#90a99a;box-shadow:0 0 0 4px #edf2ed}
.pp-tank{height:62px;display:block;position:relative;margin:16px 0 12px}
.pp-tank:before{content:"";position:absolute;top:0;left:50%;height:22px;width:2px;background:#85a192;transform:translateX(-50%)}
.pp-tank:after{content:"";position:absolute;top:18px;left:50%;height:24px;width:18px;transform:translateX(-50%);background:linear-gradient(90deg,#a3b9ab,#e0e8dd,#8eaa99);clip-path:polygon(28% 0,72% 0,72% 36%,100% 36%,100% 100%,0 100%,0 36%,28% 36%)}
.pp-tank-bath{position:absolute;left:13%;right:13%;bottom:0;height:28px;border:2px solid #87a99a;border-top:0;background:linear-gradient(to bottom,transparent 25%,#d8eee4 25%,#9cc7b2 100%)}
.pp-station.is-neutral .pp-tank-bath{background:linear-gradient(to bottom,transparent 25%,#e5eeeb 25%,#c4d8d1 100%)}
.pp-station.is-dry .pp-tank-bath{background:linear-gradient(to bottom,transparent 25%,#f4eddf 25%,#e3cdb2 100%)}
.pp-station-title{font-size:14px;font-weight:700;line-height:1.35;min-height:38px}
.pp-station-product{margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;color:#668071;line-height:1.35;min-height:30px}
.pp-station-meta{border-top:1px solid #e5ece6;margin-top:auto;padding-top:8px;display:flex;gap:6px;flex-wrap:wrap;color:#4c6e5e;font:10px ui-monospace,SFMono-Regular,monospace}
.pp-station-meta span{white-space:nowrap}
.pp-line-footer{padding:12px 27px;display:flex;gap:17px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--pp-line);font-size:11px;color:#71857a}
.pp-legend-dot{display:inline-block;width:7px;height:7px;border-radius:50%;vertical-align:1px;margin-right:4px}
.pp-legend-dot.is-product{background:#318166}.pp-legend-dot.is-rinse{background:#90a99a}
.pp-scroll-hint{margin-left:auto}
.pp-edit-panel{padding:25px 27px;min-height:277px}
.pp-edit-top{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--pp-line);padding-bottom:17px}
.pp-edit-top h2{font-size:22px;letter-spacing:-.025em;margin:6px 0}
.pp-edit-top p{font-size:13px;color:#607567;max-width:650px;margin:0}
.pp-edit-sequence{font:12px ui-monospace,SFMono-Regular,monospace;color:#608371;white-space:nowrap}
.pp-editor-grid{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(100px,.7fr) minmax(100px,.7fr);gap:15px;padding-top:20px}
.pp-enable{display:flex;align-items:center;gap:9px;margin-top:16px;font-size:13px;font-weight:650;color:#315e47}.pp-enable input{width:17px;height:17px;accent-color:#17644f}
.pp-editor-no-product{padding:12px;background:#f0f6ef;border:1px solid #d8e6d7;font-size:13px;color:#557362;align-self:end;min-height:45px}
.pp-editor-grid>label{font-size:12px;font-weight:700;color:#486b58;min-width:0}
.pp-editor-grid input,.pp-editor-grid select{width:100%;margin:6px 0 0!important;min-height:45px;border:1px solid #bccfbe!important;background:#f9fbf8!important;color:#173b30!important;font-weight:500;font-size:14px;padding:9px 10px!important;border-radius:0!important}
.pp-editor-grid input::placeholder{color:#8b9f91}
.pp-custom-field{grid-column:1/-1}
.pp-editor-note{grid-column:1/-1;margin:0;font-size:12px;color:#6d8173}
.pp-editor-link{grid-column:1/-1;font-size:12px}
.pp-editor-link a{font-weight:650}
.pp-editor-empty{padding:20px 0 0;color:#657a6b;font-size:13px}
.pp-output{margin-top:38px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);background:#e3eee1;border:1px solid #c7ddc8;min-height:330px}
.pp-output-copy{padding:34px 37px}
.pp-output-copy h2{font-size:30px;margin:8px 0 14px;letter-spacing:-.035em}
.pp-output-copy>p{font-size:14px;color:#557061;max-width:430px}
.pp-output-actions{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-top:26px}
.pp-copy{background:#17644f;border-color:#17644f;color:white!important;padding:11px 16px;min-height:44px;font-size:13px}
.pp-copy:hover{background:#0c4c3a;border-color:#0c4c3a}
.pp-reset{border:1px solid #a8c3ae;background:transparent;color:#285d47;padding:10px 12px;min-height:44px;font-size:12px}
.pp-output-actions>a{font-size:12px;font-weight:650}
.pp-copy-status{min-height:22px;margin:9px 0 0!important;font-size:12px!important;color:#1d654e!important}
.pp-summary-card{margin:20px;background:#fff;border:1px solid #c5d8c7;box-shadow:8px 8px 0 #c1d7bf;padding:19px 22px;min-width:0}
.pp-summary-head{display:flex;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid #d9e4d9;color:#6b8a72;font:10px ui-monospace,SFMono-Regular,monospace;letter-spacing:.07em}
.pp-summary-meta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:13px 0;color:#184a39;font-size:13px;font-weight:700}
.pp-summary-purpose{font-size:11px;color:#56715e;margin:-4px 0 7px!important}
.pp-summary-list{list-style:none;margin:0;padding:0;max-height:245px;overflow:auto}
.pp-summary-list li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px;padding:5px 0;border-bottom:1px dashed #e1e9e1;font-size:11px;color:#58705f}
.pp-summary-list li span:first-child{color:#8aa092;font-family:ui-monospace,SFMono-Regular,monospace}
.pp-summary-list strong{color:#244938;font-weight:650}
.pp-boundary{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;border-top:1px solid #cddccd;margin-top:32px;padding-top:18px;color:#62786a;font-size:12px}
.pp-boundary strong{color:#315e47}.pp-boundary p{margin:0;max-width:980px}
.pp :focus-visible{outline:3px solid #94c3a0;outline-offset:3px}
@media(max-width:1050px){.pp-hero-grid{grid-template-columns:1fr 1fr;gap:25px;min-height:480px}.pp-crumb{margin-bottom:55px}.pp-hero h1{font-size:clamp(42px,5.7vw,64px)}.pp-work-grid{grid-template-columns:260px minmax(0,1fr)}.pp-panel{padding:18px}.pp-line-tools{align-items:flex-end;flex-direction:column}.pp-section-heading{grid-template-columns:120px minmax(0,1fr)}.pp-section-heading p{grid-column:2}.pp-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-editor-grid>label:first-child{grid-column:1/-1}}
@media(max-width:800px){.pp-hero-grid{grid-template-columns:1fr;gap:35px;padding-top:20px;padding-bottom:47px}.pp-crumb{margin-bottom:35px}.pp-hero-art{max-width:600px;box-shadow:11px 12px 0 #0a2c25}.pp-workspace{padding-top:45px}.pp-work-grid{grid-template-columns:1fr}.pp-controls{grid-template-columns:1fr 1fr}.pp-materials{grid-template-columns:1fr 1fr}.pp-output{grid-template-columns:1fr}.pp-output-copy{padding-bottom:12px}.pp-summary-card{margin:0 20px 25px}}
@media(max-width:600px){.pp-hero h1{font-size:48px}.pp-hero-lead{font-size:15px}.pp-hero-actions{align-items:flex-start;flex-direction:column;gap:12px}.pp-hero-art{padding:14px 15px}.pp-art-top,.pp-art-bottom{font-size:8px}.pp-section-heading{grid-template-columns:1fr;gap:6px;padding-bottom:22px}.pp-section-heading p{grid-column:auto}.pp-section-heading h2{font-size:26px}.pp-controls{grid-template-columns:1fr}.pp-materials{grid-template-columns:1fr 1fr}.pp-material{grid-template-columns:32px minmax(0,1fr);gap:8px;padding:8px;min-height:61px}.pp-material-icon{width:30px;height:30px}.pp-material-arrow{display:none}.pp-material strong{font-size:12px}.pp-material small{font-size:10px}.pp-line-heading{padding:21px 18px;display:block}.pp-line-heading h2{font-size:21px}.pp-line-tools{flex-direction:row;align-items:center;justify-content:space-between;margin-top:15px}.pp-line-scroll{padding:14px 18px 20px}.pp-station{width:145px}.pp-station>button{height:210px}.pp-line-footer{padding:11px 18px}.pp-scroll-hint{width:100%;margin:0}.pp-edit-panel{padding:20px 18px;min-height:0}.pp-edit-top h2{font-size:20px}.pp-editor-grid{gap:12px}.pp-output-copy{padding:26px 22px 12px}.pp-output-copy h2{font-size:25px}.pp-summary-card{margin:0 13px 21px;padding:15px}.pp-boundary{grid-template-columns:1fr;gap:5px}.pp-hero-art{transform:none}}
@media(max-width:390px){.pp-materials{grid-template-columns:1fr}.pp-editor-grid{grid-template-columns:1fr}.pp-editor-grid>label:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.pp-material,.pp-station>button{transition:none}}
@media print{.pp-hero,.pp-controls,.pp-line-tools,.pp-output-actions,.pp-edit-panel,.pp-boundary{display:none!important}.pp-workspace{padding:0}.pp-work-grid,.pp-output{display:block}.pp-line-panel,.pp-output{border:0}.pp-line-scroll{overflow:visible;background:#fff;padding:0}.pp-line{flex-wrap:wrap;min-width:0}.pp-line:before{display:none}.pp-station{break-inside:avoid}.pp-output-copy{display:none}.pp-summary-card{margin:20px 0;box-shadow:none}.pp-summary-list{max-height:none;overflow:visible}}
/* Grouped substrates and the readable route table share the existing industrial palette. */
.pp-material-group{border-bottom:1px solid var(--pp-line);padding:0 0 12px;margin:0 0 12px}
.pp-material-group summary{font-size:14px;font-weight:650;cursor:pointer;padding:7px 0;color:#234f40}
.pp-material-group summary>span{float:right;font-size:11px;color:#576f60;font-weight:500}
.pp-material-group[open] summary{margin-bottom:8px}
.pp-selected-material{font-size:12px;line-height:1.7;color:#4a6254;margin:15px 0 0!important}
.pp-route-notice{margin:0!important;padding:13px 27px;border-block:1px solid #d8e4d9;background:#edf4ea;color:#32563f;font-size:13px;line-height:1.75}
.pp-route-notice.is-review{background:#f7f1e4;color:#68502c;border-color:#ded0b3}
.pp-play:disabled{opacity:.6;cursor:not-allowed}
.pp-table-panel{margin-top:30px;border:1px solid var(--pp-line);background:#fff;min-width:0}
.pp-table-heading{padding:25px 27px 17px}
.pp-table-heading .pp-section-index{color:#527968}
.pp-table-heading h2{font-size:26px;margin:7px 0 10px;letter-spacing:-.03em}
.pp-table-heading p{font-size:13px;color:#4a6254;margin:0}
.pp-table-scroll{overflow:auto;max-height:580px;scrollbar-color:#9bb8a3 #eaf1e9}
.pp .pp-process-table{border-collapse:separate;border-spacing:0;width:100%;min-width:780px;margin:0;font-size:13px;table-layout:fixed}
.pp-process-table caption{text-align:left;color:#335b45;padding:10px 27px;background:#f0f6ef;font-size:13px}
.pp .pp-process-table th,.pp .pp-process-table td{text-align:left;border:0;border-bottom:1px solid #dce5dc;padding:13px 14px;vertical-align:top;overflow-wrap:anywhere;line-height:1.7;background:#fff}
.pp .pp-process-table thead th{position:sticky;top:0;z-index:1;background:#eaf1e7;color:#234c36;font-weight:650}
.pp-process-table th:nth-child(1){width:6%}.pp-process-table th:nth-child(2){width:18%}.pp-process-table th:nth-child(3){width:20%}.pp-process-table th:nth-child(4){width:20%}.pp-process-table th:nth-child(5){width:36%}
.pp-table-step{color:#136654;text-decoration:underline;text-underline-offset:3px;font:inherit;font-weight:650;background:none;border:0;padding:0;text-align:left}
.pp-table-step:hover{color:#092e25}
.pp-references{margin-top:14px}.pp-references summary{cursor:pointer;font-weight:650;color:#315e47}.pp-references p{padding-top:10px}.pp-references a{color:#285d47}
@media(max-width:800px){.pp-controls{grid-template-columns:1fr}.pp-materials{grid-template-columns:repeat(3,minmax(0,1fr))}.pp-material-group summary{font-size:15px}.pp-material-group summary>span{float:none;margin-left:12px}}
@media(max-width:600px){.pp-materials{grid-template-columns:1fr 1fr}.pp-route-notice{padding:13px 18px}.pp-table-heading{padding:20px 18px 15px}.pp-table-heading h2{font-size:22px}.pp-process-table caption{padding:10px 18px}.pp .pp-process-table{min-width:760px}.pp .pp-process-table th,.pp .pp-process-table td{padding:11px 12px}.pp-table-scroll{max-height:470px}}
@media(max-width:390px){.pp-materials{grid-template-columns:1fr}}
@media print{.pp-table-scroll{overflow:visible;max-height:none}.pp .pp-process-table{min-width:0;font-size:10px}.pp .pp-process-table thead th{position:static}.pp-table-step{text-decoration:none;color:#000}.pp-route-notice{display:block}.pp-table-heading{padding-left:0}.pp-process-table caption{padding-left:0}}
