/* Independent continuous-detail workspace. Legacy detail sheets are untouched. */
#editor-panel.flow-layout{display:grid;grid-template-columns:184px minmax(0,1fr) 248px;min-width:0;overflow:hidden}
.flow-layout>.pages-pane,.flow-layout>.canvas-workspace,.flow-layout>.inspector{min-width:0;min-height:0}
.flow-layout>.canvas-workspace{display:flex;height:auto}
.flow-layout>.inspector{display:flex}
.flow-layout .canvas-scroll{padding:22px 20px 44px;overflow:auto;overscroll-behavior:contain}
.workspace .flow-layout #canvas{display:block;width:max-content;min-width:100%;max-width:none;height:auto;margin:0;gap:0;align-items:initial;justify-content:initial}
.flow-layout .canvas-toolbar{padding:0 16px;gap:10px;min-width:0}
.flow-layout #canvas-caption{min-width:0;font-size:10px;line-height:1.5;overflow-wrap:anywhere}
.flow-layout .canvas-toolbar>div{flex:none}
.flow-layout .canvas-empty{padding:60px 18px;text-align:center;max-width:100%;line-height:1.7}
.flow-layout .page-item-copy{min-width:0}
.flow-layout .page-item-copy strong,.flow-layout .page-item-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.flow-layout .flow-list-note{font-size:10px;color:#929baa;line-height:1.6;margin:6px 8px 16px}
.flow-layout .flow-hint{font-size:10px;line-height:1.8;color:#8c96a5;margin:8px 0 0;overflow-wrap:anywhere}
.flow-layout .inspector .field{display:block;margin-bottom:14px}
.flow-layout .field>span{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.flow-layout .field output{font-size:10px;font-variant-numeric:tabular-nums;color:#65748c}
.flow-layout .field input[type=range]{padding:0;border:0;background:none;width:100%;min-width:0;cursor:pointer}
.flow-layout .flow-picture-controls{padding:2px 0 10px}
.flow-layout .flow-picture-controls .field{margin-bottom:14px}
.flow-layout .inspector .page-operations{display:flex;gap:8px}
.flow-layout .inspector .page-operations button{min-width:0}

/* All cqw values below refer to the full 1440px paper, at any preview scale. */
.flow-paper{display:block;position:relative;box-sizing:border-box;container-type:inline-size;width:288px;margin:0 auto;padding:0;background:#fff;color:#1c1f23;box-shadow:0 4px 24px #25334d0b;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;font-synthesis:none;--flow-ink:#1d1d1f;--flow-muted:#6e6e73;--flow-soft:#f5f5f7;--flow-gutter:6.4cqw;--flow-heading:6cqw;--flow-body:2.6cqw;--flow-note:2.1cqw;letter-spacing:-.015em;-webkit-font-smoothing:antialiased}
.flow-paper .flow-block{display:flow-root;position:relative;box-sizing:border-box;width:100%;margin:0;background:#fff;scroll-margin-top:20px}
.flow-paper:not(.flow-readonly)>.flow-block.is-selected{outline:1px solid #b4c7ed;outline-offset:-1px}
.flow-paper .flow-block>*{max-width:100%;box-sizing:border-box}
.flow-paper .series-art,.flow-paper .comparison-art{container-type:normal;aspect-ratio:auto;height:auto;min-height:0;display:block;background:#fff;color:#1c1f23;border:0;box-shadow:none}
.flow-paper .series-art{font-family:inherit;padding:6cqw 6.4cqw 6cqw;overflow:visible}
.flow-paper .series-logo{height:5.2cqw;min-height:0;gap:4cqw}
.flow-paper .series-logo>img{max-height:none;height:100%}
.flow-paper .series-product-image{height:65cqw;flex:none;min-height:0;margin:2cqw -2cqw 3cqw;padding:1cqw;overflow:hidden}
.flow-paper .series-image-pick,.flow-paper .series-product-image>img{height:100%;width:100%;min-height:0}
.flow-paper .series-copy{padding:0;text-align:center}
.flow-paper .series-copy .series-brand{font-size:3cqw;line-height:1.08;font-weight:600;letter-spacing:-.045em;margin:0 0 1.6cqw;color:var(--flow-ink)}
.flow-paper .series-copy h2.series-model{font-size:4.6cqw;line-height:1.3;font-weight:400;letter-spacing:-.025em;margin:0;color:var(--flow-ink)}
.flow-paper .series-copy h3{font-size:8.4cqw;line-height:1.5;font-weight:400;margin:2.4cqw 0 0;color:var(--flow-muted)}
.flow-paper .series-copy .series-description{font-size:var(--flow-body);line-height:1.65;margin-top:2.4cqw;color:var(--flow-muted)}
.flow-paper .series-bottom{display:none}
.flow-paper .version-art{padding-top:6cqw;padding-bottom:7cqw}
.flow-paper .version-art .series-logo{display:none}
.flow-paper .version-art .series-product-image{height:48cqw;margin-top:0;margin-bottom:4cqw}
.flow-paper .version-art .series-copy{padding:0 0 4cqw}
.flow-paper .version-art .series-copy h2{font-size:6.4cqw;line-height:1.2;letter-spacing:-.03em}
.flow-paper .version-art .series-spec{font-size:3cqw;margin-top:2cqw}
.flow-paper .series-facts{padding:4cqw 0 0;gap:4cqw}
.flow-paper .series-facts>div>span{font-size:2.6cqw;margin-bottom:2cqw}
.flow-paper .series-facts strong{font-size:6cqw}
.flow-paper .series-facts strong small{font-size:2.2cqw}
.flow-paper .series-missing{min-height:0;height:100%;gap:2cqw}
.flow-paper .series-missing strong{font-size:3cqw}
.flow-paper .series-missing span{font-size:2.4cqw}

/* The listening chapter is a single cover; all copy lives inside its poster. */
.flow-paper .flow-video-art{background:var(--flow-soft);color:var(--flow-ink);display:block;border:0}
.flow-paper .flow-video-frame{position:relative;display:block;width:100%;overflow:hidden;background:#fff}
.flow-paper .flow-video-frame video{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
.flow-paper .flow-video-frame .empty-art{margin:0;width:100%;height:100%;min-height:0;border:0;font-size:3cqw}
.flow-paper .flow-video-frame .video-page-play{width:8cqw;height:8cqw;padding:0;margin:0;border:1px solid #ffffffd9;background:#151b26a8;box-shadow:0 1cqw 3cqw #14213b13;font-size:2.7cqw}
.flow-paper .flow-video-frame .video-page-play:hover{background:#ffffff30}

/* A single, naturally sized table; no repeated model line or dark page banner. */
.flow-paper .comparison-art{padding:6cqw 6.4cqw 7cqw;overflow:visible}
.flow-paper .comparison-art>header{display:block;background:#fff;color:#202328;margin:0 0 4.5cqw;padding:0;gap:0}
.flow-paper .comparison-title>p{display:none}
.flow-paper .comparison-title h2{font-size:7cqw;line-height:1.15;font-weight:600;letter-spacing:-.04em;margin:0}
.flow-paper .comparison-art table{margin:0;border-radius:0;background:#fff}
.flow-paper .comparison-art thead th{font-size:2.2cqw;line-height:1.4;padding:0 .9cqw 2.2cqw;color:#90969c}
.flow-paper .comparison-art thead th:last-child{padding-right:0}
.flow-paper .comparison-group{border-top:1px solid #e3e6e8;background:#fff}
.flow-paper .comparison-group th{padding:2.5cqw 2.4cqw 1.5cqw 0;vertical-align:top}
.flow-paper .comparison-art tbody th strong{font-size:2.7cqw;line-height:1.4;color:#757d85;letter-spacing:.06em;font-weight:400;margin:0 0 1cqw}
.flow-paper .comparison-art .comparison-product,.flow-paper .comparison-art .comparison-group:last-child .comparison-product{height:24cqw;width:100%;margin:0;background:transparent}
.flow-paper .comparison-art tbody td{height:13.5cqw;font-size:2.8cqw;line-height:1.45;padding:2.4cqw .9cqw;border-bottom-color:#edf0f1}
.flow-paper .comparison-art .comparison-material{font-size:2.6cqw;color:#626b73}
.flow-paper .comparison-art .comparison-reduction{font-size:3.1cqw}
.flow-paper .comparison-art .comparison-performance{font-size:2.2cqw;line-height:1.55;white-space:pre-line}
.flow-paper .comparison-art .comparison-price{font-size:3.3cqw;letter-spacing:-.04em;padding-right:0}
.flow-paper .comparison-art td small{font-size:1.9cqw;color:#939aa1;margin-left:.5cqw}
.flow-paper .comparison-art>footer{font-size:2cqw;line-height:1.75;color:#93999f;margin-top:0;padding-top:3.2cqw;border-top:1px solid #e3e6e8;white-space:pre-wrap}

.flow-paper .flow-content{padding:8cqw var(--flow-gutter);background:#fff;overflow-wrap:anywhere;text-align:center}
.flow-paper .flow-content h2{font-size:var(--flow-heading);line-height:1.2;font-weight:600;letter-spacing:-.035em;margin:0 0 4cqw;color:var(--flow-ink)}
.flow-paper .flow-content p{font-size:var(--flow-body);line-height:1.65;color:var(--flow-muted);margin:2.4cqw auto 0;max-width:72cqw;white-space:pre-wrap}
.flow-paper .flow-image{display:block;width:100%;height:auto;aspect-ratio:1.2;padding:0;margin:0;overflow:hidden;border:0;border-radius:0;background:#fff}
.flow-paper .flow-image img{display:block;width:100%;height:100%;object-fit:contain;transform-origin:center}
.flow-paper .flow-content .empty-art{min-height:0;height:50cqw;font-size:3cqw;margin:0}
.flow-paper [contenteditable=true]{outline:none;cursor:text}
.flow-paper [contenteditable=true]:hover{box-shadow:inset 0 -1px #9aafcc}
.flow-paper [contenteditable=true]:focus{background:#edf4ff;box-shadow:inset 0 -1px #3976d6}
.flow-paper.flow-readonly .comparison-product,.flow-paper.flow-readonly .series-image-pick,.flow-paper.flow-readonly .flow-image{cursor:default}
.flow-paper.flow-readonly .comparison-product:hover,.flow-paper.flow-readonly .series-image-pick:hover,.flow-paper.flow-readonly .flow-image:hover{outline:none;background:transparent;box-shadow:none}

/* Long preview and safe-cut preview share the exact same white paper content. */
.workspace .flow-preview-dialog{width:min(1000px,calc(100vw - 28px));max-height:94dvh}
.workspace .flow-preview-dialog #dialog-body{padding:0;max-height:none;overflow:hidden;background:#eef1f5}
.flow-preview-dialog .flow-preview-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid #e2e7ef;background:#fff;color:#8692a3;font-size:11px;line-height:1.6}
.flow-preview-dialog .flow-preview-tools>div{display:flex;align-items:center;gap:10px;flex:none}
.flow-preview-dialog .flow-preview-tools output{min-width:36px;text-align:center;font-variant-numeric:tabular-nums;color:#5e6c83}
.flow-preview-dialog .flow-preview-tools .secondary-button{min-width:32px;width:32px;height:30px;min-height:30px;padding:0}
.flow-preview-dialog .flow-preview-viewport{height:62dvh;overflow:auto;overscroll-behavior:contain;padding:24px;box-sizing:border-box}
.flow-preview-dialog .flow-preview-sequence{width:max-content;min-width:100%;margin:0;display:flex;flex-direction:column;align-items:center;gap:20px}
.flow-preview-dialog .flow-slice-card{display:block;margin:0;flex:none}
.flow-preview-dialog .flow-slice-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;line-height:1.5;color:#8491a4;padding:0 0 8px}
.flow-preview-dialog .flow-slice-card>header span{font-variant-numeric:tabular-nums}
.flow-preview-dialog .flow-slice-viewport{position:relative;overflow:hidden;width:100%;background:#fff;box-shadow:0 4px 24px #25334d0b}
.flow-preview-dialog .flow-slice-viewport>.flow-paper{position:absolute;left:0;margin:0;box-shadow:none}
.flow-preview-dialog .flow-blocked{font-size:11px;line-height:1.8;color:#956d37;background:#fff9eb;border-bottom:1px solid #eddfc3;padding:10px 18px;margin:0}
.flow-removed{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #edf0f4;color:#65748b;font-size:12px}

@media(max-width:1100px){
  #editor-panel.flow-layout{grid-template-columns:160px minmax(0,1fr) 224px}
  .flow-layout .canvas-scroll{padding:20px 16px 40px}
}
@media(max-width:850px){
  #editor-panel.flow-layout{grid-template-columns:144px minmax(0,1fr) 204px}
  .flow-layout .canvas-scroll{padding:18px 12px 36px}
  .flow-layout .canvas-toolbar{padding:0 12px}
  .flow-layout .pane-heading{padding-left:12px;padding-right:12px}
  .flow-layout .inspector-section,.flow-layout .inspector-group{padding-left:12px;padding-right:12px}
}
@media(max-width:700px){
  #editor-panel.flow-layout{display:flex;flex-direction:column;overflow:visible;min-height:0}
  .flow-layout>.pages-pane{flex:none;max-height:210px;border-right:0;border-bottom:1px solid #dfe5ed}
  .workspace .flow-layout #page-list{display:flex;gap:8px;overflow-x:auto;padding:0 12px 10px;align-items:stretch;flex:none}
  .flow-layout #page-list .flow-list-note{display:none}
  .workspace .flow-layout #page-list .page-item{flex:0 0 145px;margin:0;min-height:60px}
  .flow-layout #page-list-footer{padding:0 12px 10px}
  .flow-layout #page-list-footer .add-page{min-height:28px;padding:4px 10px;font-size:11px}
  .flow-layout>.canvas-workspace{height:65dvh;min-height:390px;flex:none}
  .flow-layout>.inspector{max-height:none;flex:none;border-left:0;border-top:1px solid #dfe5ed}
  .flow-layout #inspector-body{overflow:visible}
  .flow-layout .canvas-scroll{padding:16px 12px 28px}
  .flow-preview-dialog .flow-preview-tools{padding:10px 12px;gap:8px}
  .flow-preview-dialog .flow-preview-viewport{padding:16px 12px;height:60dvh}
  .flow-preview-dialog .flow-preview-tools>span{min-width:0;overflow-wrap:anywhere}
}

/* A fixed logical width keeps table borders and slice boundaries identical at every zoom. */
.flow-stage{position:relative;flex:none;margin:0 auto}
.flow-stage>.flow-paper{position:absolute;left:0;top:0;margin:0}
.flow-paper{transform-origin:top left}

/* An opening cover, a listening chapter, then individual grade showcases. */
.flow-paper .series-cover{display:flex;flex-direction:column;min-height:150cqw;padding:6.4cqw var(--flow-gutter) 5cqw}
.flow-paper .series-cover .series-product-image{flex:1;height:auto;min-height:65cqw;margin:4cqw -2cqw 6cqw}
.flow-paper .series-cover .series-bottom{display:flex;justify-content:center;flex:none;margin-top:7cqw;padding-top:2.4cqw;border:0;font-size:var(--flow-note);line-height:1.5;color:var(--flow-muted)}
.flow-paper .flow-versions{background:#fff;color:var(--flow-ink);padding-top:7cqw;padding-bottom:6cqw}
.flow-paper .flow-grade-list{padding:0 var(--flow-gutter)}
.flow-paper .flow-grade{background:#fff;padding:3cqw 0 7cqw;margin:0 0 7cqw;display:flow-root;border-bottom:1px solid #e5e5e7}
.flow-paper .flow-grade:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}
.flow-paper .flow-grade-image{display:block;width:100%;height:50cqw;margin:4cqw 0 5cqw;padding:0;border:0;background:transparent;overflow:hidden;cursor:pointer;border-radius:0}
.flow-paper .flow-grade-image img{width:100%;height:100%;object-fit:contain;transform-origin:center}
.flow-paper .flow-grade-image:hover,.flow-paper .flow-grade-image:focus-visible{outline:1px dashed #a1b5d8;outline-offset:-1px}
.flow-paper.flow-readonly .flow-grade-image:hover{outline:none;cursor:default}
.flow-paper .flow-grade>header strong{display:block;font-size:var(--flow-heading);line-height:1.2;color:var(--flow-ink);font-weight:600;letter-spacing:-.035em}
.flow-paper .flow-grade-intro{margin-top:2cqw}
.flow-paper .flow-grade-intro p{max-width:68cqw;font-size:var(--flow-body);line-height:1.65;color:var(--flow-muted);margin:0 auto;white-space:pre-wrap}
.flow-paper .flow-sku-options{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto;column-gap:1.2cqw;row-gap:0}
.flow-paper .flow-sku-option{display:grid;grid-row:span 4;grid-template-rows:subgrid;min-width:0;padding:4cqw 2.4cqw 3.8cqw;background:#f5f5f7;border-radius:2cqw;text-align:center;overflow-wrap:anywhere;color:#1d1d1f}
.flow-paper .flow-sku-material{font-size:3.6cqw;font-weight:600;line-height:1.35;letter-spacing:-.025em}
.flow-paper .flow-sku-material small{font-size:2cqw;display:block;color:#6e6e73;font-weight:400;margin-top:.6cqw;letter-spacing:0}
.flow-paper .flow-sku-cost{padding:1.1cqw 0 3.4cqw;margin-bottom:3.6cqw;border-bottom:1px solid #dedee2;min-width:0}
.flow-paper .flow-sku-price{font-size:3.1cqw;line-height:1.45;font-weight:400;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.flow-paper .flow-sku-fact{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-width:0;padding:0 0 3.3cqw}
.flow-paper .flow-sku-fact:last-child{padding-bottom:0}
.flow-paper .flow-fact-label{font-size:2.05cqw;line-height:1.5;color:#6e6e73;margin-top:.8cqw}
.flow-paper .flow-fact-value{font-size:5.2cqw;font-weight:500;letter-spacing:-.045em;line-height:1.15;font-variant-numeric:tabular-nums}
.flow-paper .flow-fact-value small{font-size:2.1cqw;font-weight:400;color:#6e6e73;margin-left:.5cqw;letter-spacing:0}
.flow-paper .flow-sku-power{font-size:2.9cqw;font-weight:500;letter-spacing:-.02em;line-height:1.5;white-space:pre-line}
.flow-paper .flow-versions>footer{margin:0;padding:5cqw var(--flow-gutter) 0;font-size:var(--flow-note);line-height:1.65;color:var(--flow-muted);white-space:pre-wrap}
.flow-paper .flow-grade>header{text-align:center}
.flow-paper button{font-family:inherit}

/* Authored product detail sections use the same typography as the opening chapters. */

/* Sequence rhythm: quiet opening, dark listening chapter, clean spec cards. */
.flow-paper .series-cover .series-product-image{margin-bottom:4cqw}
.flow-paper .series-cover .series-bottom{margin-top:5cqw}
.flow-paper .flow-video-frame{background:#191a1c}
.flow-paper .flow-video-frame video{background:#191a1c}
.flow-paper .flow-video-frame .video-page-overlay{flex-direction:row;align-items:flex-end;justify-content:flex-start;padding:0 0 13cqw 6.4cqw;box-sizing:border-box}
.flow-paper .flow-video-frame .video-page-play{display:flex;align-items:center;gap:1.5cqw;width:auto;height:auto;padding:1.4cqw 2.3cqw;border-radius:8cqw;border:1px solid #ffffff55;background:#ffffff12;color:#f5f5f7;font-size:2.2cqw;box-shadow:none}
.flow-paper .flow-play-label{font-size:2.4cqw;font-weight:500;letter-spacing:0}
.flow-paper .flow-versions{padding-top:9cqw;padding-bottom:7cqw}
.flow-paper .flow-grade{padding-top:0;padding-bottom:8cqw;margin-bottom:8cqw;border-color:#ededee}
.flow-paper .flow-grade-image{height:46cqw;margin:3cqw 0 4cqw}
.flow-paper .flow-grade-intro p{max-width:72cqw}
.flow-paper .flow-sku-option{padding-top:3.4cqw;padding-bottom:3.4cqw}
.flow-paper .flow-sku-cost{padding-bottom:2.8cqw;margin-bottom:3cqw}
.flow-paper .flow-sku-fact{padding-bottom:2.8cqw}

/* Product details use full-width photography and editorial copy below. */

/* Surface hierarchy: white product chapters, cool-gray specifications and detail gallery. */
.flow-paper{--flow-muted:#62666e;--flow-soft:#f0f2f5}
.flow-paper .flow-sku-option{background:#f0f2f5;box-shadow:inset 0 0 0 1px #e2e6eb}
.flow-paper .flow-sku-cost{border-color:#d8dee5}
.flow-paper .flow-sku-material{color:#333c47}
.flow-paper .flow-sku-price,.flow-paper .flow-fact-value{color:#1d1d1f}

/* Original Feishu brand artwork, with its own source blue retained. */
.flow-paper{--flow-brand:#3b54c4}
.flow-paper .flow-brand-signoff{display:flex;justify-content:center;align-items:center;padding:6cqw var(--flow-gutter) 7cqw;background:#f5f5f7}
.flow-paper .flow-brand-signoff img{display:block;width:23cqw;height:auto}

/* Cover copy: brand eyebrow, product headline, then model fitment. */
.flow-paper .series-cover .series-copy{display:flex;flex-direction:column;align-items:center;text-align:center}
.flow-paper .series-cover .series-copy .series-brand{order:0;font-size:2.8cqw;font-weight:500;line-height:1.4;letter-spacing:.12em;color:var(--flow-brand);margin:0 0 2.2cqw}
.flow-paper .series-cover .series-copy h3{order:1;font-size:6.8cqw;font-weight:600;line-height:1.25;letter-spacing:-.035em;color:var(--flow-ink);margin:0;max-width:100%;text-wrap:balance}
.flow-paper .series-cover .series-copy h2.series-model{order:2;font-size:4.2cqw;font-weight:400;line-height:1.4;letter-spacing:.01em;color:#6e6e73;margin:2cqw 0 0}
.flow-paper .series-cover .series-copy .series-description{order:3}

/* Optional upgrades bridge the specification cards and product detail gallery. */

/* Text-only optional upgrades share the white chapter and centered type of versions. */
.flow-paper .flow-options{padding:6cqw var(--flow-gutter) 9cqw;background:#fff;color:var(--flow-ink)}
.flow-paper .flow-options>header{margin:0 0 5cqw;text-align:center}
.flow-paper .flow-options>header h2{font-size:var(--flow-heading);line-height:1.25;letter-spacing:-.03em;margin:0;font-weight:600}
.flow-paper .flow-options>header p{font-size:2.6cqw;line-height:1.6;margin:2cqw 0 0;color:var(--flow-muted)}
.flow-paper .flow-option-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.flow-paper .flow-option-card{padding:1cqw 2.6cqw 2cqw;background:#fff;text-align:center;min-width:0}
.flow-paper .flow-option-card+.flow-option-card{border-left:1px solid #e5e7eb}
.flow-paper .flow-option-top h3{font-size:3.6cqw;line-height:1.4;font-weight:600;letter-spacing:-.025em;margin:0}
.flow-paper .flow-option-top p{font-size:4.2cqw;line-height:1.3;font-weight:500;letter-spacing:-.025em;color:var(--flow-brand);margin:2cqw 0 3cqw;white-space:nowrap;font-variant-numeric:tabular-nums}
.flow-paper .flow-option-description p{font-size:2.5cqw;line-height:1.65;color:#6e6e73;margin:0;white-space:normal;overflow-wrap:anywhere;text-wrap:pretty}





/* Quiet product cards: neutral gallery, generous image, restrained typography. */
.flow-paper .flow-detail-feature{padding:4cqw var(--flow-gutter) 0;background:#f5f5f7;color:#1d1d1f;text-align:left}
.flow-paper .flow-detail-card{margin:0;background:#fff;border-radius:2.6cqw;overflow:hidden;box-shadow:0 .2cqw .8cqw #00000004}
.flow-paper .flow-detail-card .flow-image{width:100%;aspect-ratio:1.5;border:0;border-radius:0;box-shadow:none;background:#ededee}
.flow-paper .flow-detail-card .flow-image img{object-fit:contain}
.flow-paper .flow-detail-card>header{margin:0;padding:4.8cqw 5cqw 5.2cqw;background:#fff}
.flow-paper .flow-detail-card h2{font-size:4.8cqw;font-weight:600;line-height:1.25;letter-spacing:-.035em;color:#1d1d1f;margin:0;overflow-wrap:anywhere;text-shadow:none}
.flow-paper .flow-detail-card .flow-detail-body p{font-size:2.5cqw;font-weight:400;line-height:1.65;color:#6e6e73;margin:1.7cqw 0 0;max-width:72cqw;white-space:pre-line;text-shadow:none}

/* New detail only: readable mobile type and purposeful chapter spacing. */
.flow-paper .series-cover .series-copy h3{font-size:6.4cqw;line-height:1.25;max-width:82cqw}
.flow-paper .series-cover .series-copy h2.series-model{font-size:4.2cqw;line-height:1.4;letter-spacing:0;margin-top:2.4cqw}
.flow-paper .series-cover .series-bottom{font-size:2.8cqw;margin-top:2.4cqw;padding-top:1.2cqw}
.flow-paper .series-cover{padding-bottom:9cqw}
.flow-paper .flow-video-art:has(.flow-animation){padding:4cqw 0 0;background:#fff}
.flow-paper .flow-versions{padding-top:8cqw;padding-bottom:0}
.flow-paper .flow-grade{padding:0 0 10cqw;margin:0;border-bottom:1px solid #e5e5e7}
.flow-paper .flow-grade+.flow-grade{padding-top:10cqw}
.flow-paper .flow-grade>header strong{font-size:6.4cqw;line-height:1.25}
.flow-paper .flow-grade-intro{margin-top:1.8cqw}
.flow-paper .flow-grade-intro p{font-size:3.3cqw;line-height:1.7;max-width:78cqw;text-wrap:pretty}
.flow-paper .flow-grade-image{height:45cqw;margin:2cqw 0}
.flow-paper .flow-sku-option{padding:3cqw 2cqw;background:#f5f5f7;border-radius:3.2cqw;box-shadow:none}
.flow-paper .flow-sku-material{font-size:4.2cqw;line-height:1.4;font-weight:600;color:#1d1d1f}
.flow-paper .flow-sku-cost{padding:1.2cqw 0 2.4cqw;margin-bottom:2.4cqw;border-color:#e4e4e8}
.flow-paper .flow-sku-price{font-size:4.6cqw;line-height:1.3;font-weight:500;letter-spacing:-.035em}
.flow-paper .flow-fact-value{font-size:4.4cqw;font-weight:500;letter-spacing:-.03em}
.flow-paper .flow-fact-value small{font-size:2.8cqw;margin-left:.45cqw}
.flow-paper .flow-sku-power{font-size:3.2cqw;font-weight:400;line-height:1.55;letter-spacing:-.025em;color:#6e6e73}
.flow-paper .flow-versions>footer{font-size:2.9cqw;line-height:1.7;padding-top:6cqw;text-wrap:pretty}

/* The functional upgrade has its own chapter, not the same weight as a finish. */
/* A spacious heading, one quiet control panel, then an independent price line. */
.flow-paper .flow-smart-option{padding:7cqw var(--flow-gutter) 7cqw;background:#fff;border-bottom:1px solid #e9ebef;color:var(--flow-ink);text-align:center}
.flow-paper .flow-smart-option header{max-width:76cqw;margin:0 auto}
.flow-paper .flow-smart-option header>p:first-child{font-size:2.9cqw;line-height:1.5;color:var(--flow-brand);margin:0 0 1.6cqw;font-weight:500}
.flow-paper .flow-smart-option h2{font-size:6.4cqw;line-height:1.2;letter-spacing:-.03em;margin:0;font-weight:600}
.flow-paper .flow-smart-option header>p:last-child{font-size:3.3cqw;line-height:1.7;color:#6e6e73;margin:1.8cqw 0 0;text-wrap:balance}
.flow-paper .flow-smart-control{margin:4cqw 0 0;padding:4cqw 5cqw;background:#f5f5f7;border:0;border-radius:3.2cqw}
.flow-paper .flow-smart-control>div{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:3cqw;font-size:4.2cqw;line-height:1.4;font-weight:500;letter-spacing:-.02em}
.flow-paper .flow-smart-control i{font-size:3.5cqw;font-style:normal;font-weight:400;color:var(--flow-brand)}
.flow-paper .flow-smart-control p{font-size:3.3cqw;line-height:1.8;color:#6e6e73;max-width:68cqw;margin:4.5cqw auto 0;text-wrap:balance}
.flow-paper .flow-smart-price{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:1.5cqw 3cqw;margin-top:3.2cqw}
.flow-paper .flow-smart-price span{font-size:3cqw;line-height:1.5;color:#6e6e73}
.flow-paper .flow-smart-price strong{font-size:4.6cqw;line-height:1.3;color:var(--flow-brand);font-weight:500;letter-spacing:-.03em;white-space:nowrap}
.flow-paper .flow-options{padding:12cqw var(--flow-gutter) 10cqw}
.flow-paper .flow-options>header{margin-bottom:3.6cqw}
.flow-paper .flow-options>header h2{font-size:6.4cqw;line-height:1.25}
.flow-paper .flow-options>header p{font-size:3.3cqw;line-height:1.65;max-width:78cqw;margin:2.4cqw auto 0}
.flow-paper .flow-option-list{grid-template-columns:repeat(var(--option-count,3),minmax(0,1fr))}
.flow-paper .flow-option-card{padding:0 1.5cqw}
.flow-paper .flow-option-top h3{font-size:4.2cqw;font-weight:600;line-height:1.4}
.flow-paper .flow-option-top p{font-size:4.6cqw;line-height:1.3;margin:1.4cqw 0}
.flow-paper .flow-option-description p{font-size:3.3cqw;line-height:1.7;text-wrap:balance}

/* Photo-led cards: one true detail per card, short text, generous but finite spacing. */
/* One shared gap for chapter edges and the space between adjacent cards. */
.flow-paper{--flow-detail-gap:5cqw}
.flow-paper .flow-detail-feature{padding-top:calc(var(--flow-detail-gap)/2);padding-bottom:calc(var(--flow-detail-gap)/2)}
.flow-paper>.flow-block:has(>.flow-detail-feature){background:#f5f5f7}
.flow-paper>.flow-block:first-child>.flow-detail-feature,
.flow-paper>.flow-block:not(:has(>.flow-detail-feature))+.flow-block>.flow-detail-feature{padding-top:var(--flow-detail-gap)}
.flow-paper>.flow-block:has(>.flow-detail-feature):not(:has(+.flow-block>.flow-detail-feature))>.flow-detail-feature{padding-bottom:var(--flow-detail-gap)}
/* Soft elevation for the complete photo/caption card, including generated details. */
.flow-paper .flow-detail-card{border-radius:3.2cqw;box-shadow:0 .4cqw .9cqw -.25cqw #19202b14,0 1.2cqw 2cqw -.6cqw #19202b24}
.flow-paper .flow-detail-card .flow-image{aspect-ratio:1.5;background:#fff}
.flow-paper .flow-detail-product .flow-image{aspect-ratio:1.65;padding:2.5cqw}
.flow-paper .flow-detail-card>header{padding:3.8cqw 5.2cqw 4cqw}
.flow-paper .flow-detail-card h2{font-size:5.2cqw;line-height:1.3;letter-spacing:-.03em;text-wrap:balance}
.flow-paper .flow-detail-card .flow-detail-body p{font-size:3.3cqw;line-height:1.7;color:#6e6e73;max-width:none;margin-top:1.6cqw;text-wrap:pretty}
.flow-paper .flow-content{padding:6cqw var(--flow-gutter) 2cqw;background:#f5f5f7}
.flow-paper .flow-content h2{font-size:5.2cqw;line-height:1.3;margin-bottom:2.4cqw}
.flow-paper .flow-content p{font-size:3.3cqw;line-height:1.7;max-width:80cqw;text-wrap:balance}
.flow-paper .flow-brand-signoff{padding-top:7cqw}

/* Empty authored notes collapse without leaving placeholder spacing. */
.flow-paper .flow-option-card:not(:has(.flow-option-description)) .flow-option-top p{margin-bottom:0}
.flow-paper .flow-smart-control:not(:has(p)){padding:4cqw 5cqw}

/* Full-width quiet gutters make chapters visible in the continuous detail. */
.flow-paper{--flow-divider:#eff0f3}
.flow-paper>.flow-block+.flow-block:not(:has(.flow-detail-feature)):not(:has(.flow-content))::before{content:"";display:block;height:3cqw;background:var(--flow-divider)}
.flow-paper .flow-smart-option{border-bottom:0}
.flow-paper .flow-grade{border-bottom:0;padding-bottom:0}

.flow-paper .flow-grade+.flow-grade{padding-top:16cqw}
.flow-paper .flow-block:has(.flow-content){border-top:0;background:#f5f5f7}

/* The three grades read as one chapter; finishes begin after a clear white margin. */
.flow-paper .flow-versions{padding-bottom:8cqw}
.flow-paper .flow-options{padding:8cqw var(--flow-gutter) 8cqw}
.flow-paper .flow-options>header{margin-bottom:4cqw}
.flow-paper .flow-option-list{display:block;max-width:76cqw;margin:0 auto}
.flow-paper .flow-option-card{padding:3.4cqw 0;text-align:left;border:0}
.flow-paper .flow-option-card+.flow-option-card{border-left:0;border-top:1px solid #e5e5e7}
.flow-paper .flow-option-top{display:flex;justify-content:space-between;align-items:baseline;gap:3cqw}
.flow-paper .flow-option-top h3{font-size:4.2cqw;font-weight:500;line-height:1.4}
.flow-paper .flow-option-top p{font-size:4.6cqw;line-height:1.3;margin:0;flex-shrink:0}
.flow-paper .flow-option-description{margin-top:1.6cqw}

/* Image tools appear only after selecting an image; the canvas keeps its width. */
.workspace #editor-panel.flow-layout{grid-template-columns:184px minmax(0,1fr)}
.flow-layout>.inspector{display:none}
.workspace #editor-panel.flow-layout.flow-image-editing{grid-template-columns:184px minmax(0,1fr) 264px}
.flow-layout.flow-image-editing>.inspector{display:flex;position:relative;width:auto;border-left:1px solid #e5e7eb;background:#fff;overflow:auto}
.flow-layout #inspector-heading{display:flex;align-items:center;justify-content:space-between}
@media(max-width:680px){.workspace #editor-panel.flow-layout,.workspace #editor-panel.flow-layout.flow-image-editing{grid-template-columns:1fr}.flow-layout.flow-image-editing>.inspector{position:fixed;right:12px;top:auto;bottom:12px;width:min(300px,calc(100vw - 24px));max-height:65dvh}}

/* Keep module removal visible without opening or scrolling a settings panel. */
.flow-layout .flow-list-item{display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:2px;margin-bottom:5px}
.flow-layout .flow-list-item .page-item{margin:0;width:100%;min-width:0}
.flow-layout .flow-remove-button{width:28px;height:32px;padding:0;color:#8b9099;font-size:20px;flex-shrink:0}
.flow-layout .flow-remove-button:hover,.flow-layout .flow-remove-button:focus-visible{color:#ba3131;background:#fff0f0}
.flow-module-actions{display:flex;justify-content:space-between;align-items:center;width:100%;gap:12px;flex-wrap:wrap}
.flow-module-actions>div{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:760px){.workspace .flow-layout #context-tools .text-button{display:inline-flex}.workspace .flow-layout #page-list .flow-list-item{flex:0 0 175px}.workspace .flow-layout #page-list .flow-list-item .page-item{flex:none;width:100%}}

/* Service template: a continuous quiet footer, with compact text inside each section. */
.flow-paper .flow-service-note{background:#f5f5f7;padding:5cqw var(--flow-gutter);text-align:left;color:#1d1d1f}
.flow-paper .flow-service-note h2{font-size:4.2cqw;line-height:1.3;font-weight:600;letter-spacing:-.04em;margin:0 0 2.2cqw}
.flow-paper .flow-service-note p{font-size:2.7cqw;line-height:1.75;font-weight:400;color:#6e6e73;margin:0;white-space:pre-line;overflow-wrap:anywhere}
.flow-paper .flow-block:has(>.flow-service-note){background:#f5f5f7;border:0;margin:0}
.flow-paper .flow-block:has(>.flow-service-note)+.flow-block:has(>.flow-service-note){border:0;margin:0}
.flow-paper .flow-block:has(>.flow-service-note) .flow-brand-signoff{background:#f5f5f7}
.flow-paper>.flow-block:has(>.flow-service-note)+.flow-block:has(>.flow-service-note)::before{display:none}
/* Plain product images stay flat; only complete detail cards have elevation. */
.flow-paper .series-product-image{overflow:visible}
.flow-paper :is(.series-image-pick,.flow-grade-image,.flow-image):has(img){background:#fff;border-radius:.5cqw;overflow:hidden;box-shadow:none}
.flow-paper.flow-readonly :is(.series-image-pick,.flow-grade-image,.flow-image):has(img):hover{background:#fff;box-shadow:none}

/* Continue the detail backdrop into service copy without a cutting divider. */
.flow-paper>.flow-block:has(>.flow-detail-feature)+.flow-block:has(>.flow-service-note)::before{display:none}

/* Module order controls remain visible beside the content list. */
.flow-layout .flow-list-item{grid-template-columns:minmax(0,1fr)}
.flow-layout .flow-list-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}
.flow-layout .flow-move-button{border:0;background:transparent;color:var(--muted,#666);font:inherit;font-size:12px;padding:5px 8px;border-radius:5px;cursor:pointer}
.flow-layout .flow-move-button:hover:not(:disabled){background:#eee}
.flow-layout .flow-move-button:disabled{opacity:.3;cursor:default}
.flow-option-kind{display:inline-block;color:#626b7b;font-size:2cqw;margin-bottom:1cqw}

/* Valve promotion: one concise explanation with a three-stage control diagram. */
.flow-paper .flow-smart-control>div{grid-template-columns:1fr auto 1fr auto 1fr;gap:1.8cqw;font-size:3.1cqw}
.flow-paper .flow-smart-control section{display:flex;flex-direction:column;gap:1.6cqw;align-items:center;padding:2cqw 0}
.flow-paper .flow-smart-control section small{display:grid;place-items:center;width:5cqw;height:5cqw;border-radius:50%;background:#fff;color:var(--flow-brand);font-size:2cqw;font-weight:500}

.detail-copy-presets{margin:12px 0}
.detail-copy-presets summary{cursor:pointer;padding:10px 0;font-weight:600}
.detail-copy-group{border-top:1px solid #e5e7eb}
.detail-copy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px}
.detail-copy-choice{display:flex;flex-direction:column;gap:6px;text-align:left;padding:12px;border:1px solid #dce1e9;border-radius:8px;background:white;color:#182235;cursor:pointer;min-width:0}
.detail-copy-choice span{font-size:13px;line-height:1.6;color:#626d80;font-weight:400}
.detail-copy-choice:hover,.detail-copy-choice:focus-visible{border-color:#315bd5;background:#f5f8ff}
@media(max-width:600px){.detail-copy-grid{grid-template-columns:1fr}}
.flow-list-actions .flow-copy-open{flex:1 0 100%;min-height:40px;border:1px solid #cbd5ed;border-radius:6px;background:#f4f7ff;color:#2554cc;font-size:13px;font-weight:600;margin-bottom:4px}
.flow-list-actions:has(.flow-copy-open){flex-wrap:wrap}
/* Portrait editor chrome only: these selectors never enter exported artwork. */
body.portrait-workspace #canvas [data-flow-block]{cursor:pointer;outline-offset:4px}
body.portrait-workspace #canvas [data-flow-block].portrait-focused{outline:2px solid #315bd5}
body.portrait-workspace #canvas [contenteditable="false"]{cursor:inherit;user-select:none;-webkit-user-select:none}
body.portrait-workspace #canvas [contenteditable="false"]:focus{outline:none}
body.portrait-workspace #canvas [data-replace]{cursor:pointer;touch-action:pan-y}
#dialog.flow-copy-dialog{width:min(100%,900px);max-height:min(84dvh,var(--portrait-visible-height,84dvh));margin:auto auto 0;border-radius:18px 18px 0 0}
#dialog.flow-copy-dialog #dialog-body{overscroll-behavior:contain;min-height:0;padding:16px 20px;overflow:auto}
#dialog.flow-copy-dialog .flow-copy-tabs{display:flex;gap:8px;position:sticky;top:-16px;background:white;z-index:2;padding:8px 0 12px}
#dialog.flow-copy-dialog .flow-copy-tabs button{flex:1;min-height:44px;border:1px solid #d8deea;border-radius:8px;background:white;color:#34445b;font-size:15px}
#dialog.flow-copy-dialog .flow-copy-tabs button[aria-selected="true"]{background:#eaf0ff;border-color:#315bd5;color:#234db7;font-weight:600}
#dialog.flow-copy-dialog .flow-copy-filter{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.55fr);gap:12px}
#dialog.flow-copy-dialog .flow-copy-filter .field{margin:0}
#dialog.flow-copy-dialog .flow-copy-browser{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:16px}
#dialog.flow-copy-dialog #flow-copy-results{display:grid;grid-template-columns:1fr;max-height:42dvh;overflow:auto;overscroll-behavior:contain;padding:2px}
#dialog.flow-copy-dialog .detail-copy-choice{min-height:64px;flex:none}
#dialog.flow-copy-dialog .detail-copy-choice.selected{border-color:#315bd5;background:#edf2ff}
#dialog.flow-copy-dialog .detail-copy-choice small{font-size:12px;color:#6b7280}
#dialog.flow-copy-dialog #flow-copy-preview{border:1px solid #d8deea;border-radius:10px;padding:16px;position:sticky;top:58px;background:white;line-height:1.6}
#dialog.flow-copy-dialog #flow-copy-preview p{white-space:pre-wrap}
#dialog.flow-copy-dialog #flow-copy-preview button{width:100%;min-height:44px}
#dialog.flow-copy-dialog :is(input,textarea,select){font-size:16px;min-height:44px}
#dialog.flow-copy-dialog #flow-copy-save-status:empty,#dialog.flow-copy-dialog #flow-copy-library-status:empty{display:none}
#dialog.flow-copy-dialog .flow-extra-copy summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
@media(max-width:600px){
 #dialog.flow-copy-dialog #dialog-body{padding:12px 16px}
 #dialog.flow-copy-dialog .flow-copy-browser{grid-template-columns:1fr}
 #dialog.flow-copy-dialog #flow-copy-preview{position:static;grid-row:1}
 #dialog.flow-copy-dialog #flow-copy-results{max-height:30dvh}
 #dialog.flow-copy-dialog .flow-copy-tabs{top:-12px}
}
