/* Daoyan Studio — a calm, image-first layer over the existing guided flow. */
body.daoyan-guided {
  --studio-ink:#172b4d;--studio-muted:#728199;--studio-blue:#1458e8;
  --studio-line:#e3e8f0;--studio-paper:#f5f7fb;
  grid-template-rows:76px minmax(0,1fr);background:var(--studio-paper);color:var(--studio-ink);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
}
body.daoyan-guided .top {
  width:100%;max-width:none;height:76px;padding:12px max(28px,calc((100vw - 1080px)/2));
  background:#fff;border-bottom:1px solid #e9edf4;
}
body.daoyan-guided .history-button { border-color:var(--studio-line);color:#52657f;border-radius:10px;font-size:12px; }
body.daoyan-guided[data-view] .experience-main { width:min(1060px,100%);padding:0 24px max(24px,env(safe-area-inset-bottom));gap:10px; }
body.daoyan-guided[data-view] .journey-header { padding:20px 0 15px; }
body.daoyan-guided .steps { width:min(650px,100%);gap:13px; }
body.daoyan-guided .steps li { font-size:11px;gap:9px;color:#94a0b2; }
body.daoyan-guided .step-number { width:25px;height:25px;background:#e9eef6;color:#92a0b5;font-variant-numeric:tabular-nums; }
body.daoyan-guided .steps li.active { color:var(--studio-ink);font-weight:600; }
body.daoyan-guided .steps li.active .step-number { background:var(--studio-blue);box-shadow:0 4px 12px #1458e815; }
body.daoyan-guided .steps li.done .step-number { color:var(--studio-blue);background:#e5edff; }
body.daoyan-guided .guided-screen,body.daoyan-guided .order-panel {
  padding:30px 34px 22px;border-color:var(--studio-line);border-radius:24px;
  box-shadow:0 12px 46px #172b4d04;
}
body.daoyan-guided .studio-eyebrow { display:block;margin:0 0 8px;color:#96a4b8;font-size:9px;font-weight:600;line-height:1.5;letter-spacing:.16em; }
body.daoyan-guided .section-title h2 { font-size:30px;line-height:1.3;letter-spacing:-.045em;color:var(--studio-ink); }
body.daoyan-guided .primary { background:var(--studio-blue);border-color:var(--studio-blue);border-radius:11px;min-height:49px;font-weight:600;box-shadow:0 4px 12px #1458e80d; }
body.daoyan-guided .primary:hover:not(:disabled) { background:#104bc7;border-color:#104bc7;box-shadow:0 5px 18px #1458e81c; }
body.daoyan-guided .primary:disabled { background:#e8edf6;border-color:#e8edf6;color:#8b9ab0;box-shadow:none; }
body.daoyan-guided .quiet { border-color:var(--studio-line);border-radius:10px;color:#5c6e88; }
body.daoyan-guided :focus-visible { outline:2px solid #88aafa;outline-offset:3px; }
body.daoyan-guided .flow-actions { padding-top:12px; }
body.daoyan-guided .flow-actions > .primary { min-width:205px; }
body.daoyan-guided .selection-actions { border-top:1px solid #eef1f6; }
body.daoyan-guided .products { width:min(700px,100%);gap:24px; }
body.daoyan-guided .product,body.daoyan-guided .product:nth-child(2) { border-width:1px;border-color:var(--studio-line);border-radius:18px;transition:border-color .18s,box-shadow .18s; }
body.daoyan-guided .product.selected { border-color:#8eaff7;box-shadow:0 0 0 1px #1458e826,0 9px 24px #172b4d05; }
body.daoyan-guided .product-visual { background:#f3f6fc;max-height:min(36dvh,300px);aspect-ratio:1.18; }
body.daoyan-guided .product-body { padding:18px 20px;gap:13px; }
body.daoyan-guided .product h3 { color:var(--studio-ink);font-size:21px; }
body.daoyan-guided .product .price { color:var(--studio-ink);font-size:25px;font-variant-numeric:tabular-nums; }
body.daoyan-guided .product.selected .product-radio { border-color:var(--studio-blue);background:var(--studio-blue); }
body.daoyan-guided .material-visual-note { color:#94a1b4;font-size:10px; }
body.daoyan-guided .checkout-scroll { width:min(550px,100%);gap:25px; }
body.daoyan-guided .checkout-summary { background:#f7f9fd;border-color:#e6ecf5;padding:28px;border-radius:16px; }
body.daoyan-guided .selected-summary { color:var(--studio-blue);font-weight:600;font-size:30px; }
body.daoyan-guided .selected-summary strong { color:var(--studio-ink);font-weight:500;font-size:20px; }
body.daoyan-guided .payment-methods label { min-height:62px;border-color:var(--studio-line);border-radius:12px; }
body.daoyan-guided .payment-methods label:has(input:checked) { border-color:#9fb9f3;background:#f5f8ff; }
body.daoyan-guided .payment-methods input,body.daoyan-guided .consent input { accent-color:var(--studio-blue); }
body.daoyan-guided .order-heading { padding-bottom:2px; }
body.daoyan-guided .order-heading h2 { color:var(--studio-ink);font-size:21px;font-weight:600; }
body.daoyan-guided .order-heading .price { font-size:25px;color:var(--studio-ink); }
body.daoyan-guided .state-label { display:flex;align-items:center;gap:6px;padding:0;margin:6px 0 20px;font-size:10px;background:none;color:#8493a9; }
body.daoyan-guided .state-label::before { content:"";width:5px;height:5px;flex-shrink:0;border-radius:50%;background:#a5bbdf; }
body.daoyan-guided .flow-heading h3 { color:var(--studio-ink);font-size:25px;line-height:1.3;letter-spacing:-.035em; }
body.daoyan-guided .photo-scroll { display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:14px; }
body.daoyan-guided .photo-entry,body.daoyan-guided .photo-entry:has(.source-artwork:not([hidden])) { display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:0;min-height:0; }
body.daoyan-guided .photo-inputs { display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:10px;width:min(720px,100%);height:100%;min-height:0;margin:0 auto; }
body.daoyan-guided .upload.studio-upload { position:relative;display:flex;align-items:center;justify-content:center;min-height:0;width:100%;height:100%;padding:14px;border:1px dashed #cfd9e9;border-radius:16px;background:#f9fbfe;overflow:hidden; }
body.daoyan-guided .upload.studio-upload:hover { background:#f5f8fe;border-color:#a9bee9; }
body.daoyan-guided .upload.studio-upload:focus-within { outline:2px solid #88aafa;outline-offset:2px; }
body.daoyan-guided .photo-empty-guide { display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center; }
body.daoyan-guided .photo-empty-guide .upload-icon { width:72px;height:72px;margin:0 0 8px;color:#a5b8d8; }
body.daoyan-guided .upload-title { font-size:14px;font-weight:500;color:#4e668a; }
body.daoyan-guided .upload-detail { color:#a0aec1;font-size:10px; }
body.daoyan-guided .upload.studio-upload input { position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer; }
body.daoyan-guided .upload.studio-upload .source-artwork { display:block;width:100%;height:100%;min-height:0;max-height:none;margin:0;border:0;background:transparent;object-fit:contain;border-radius:8px; }
body.daoyan-guided .studio-upload:has(.source-artwork:not([hidden])) { border-style:solid;border-color:#e1e7f1;background:#f5f7fb; }
body.daoyan-guided .studio-upload:has(.source-artwork:not([hidden])) .photo-empty-guide { display:none; }
body.daoyan-guided .photo-replace-indicator { position:absolute;right:12px;bottom:12px;display:none;align-items:center;gap:16px;padding:7px 12px;border:1px solid #e3e9f2;border-radius:8px;background:#fffffff2;color:#536985;font-size:10px;pointer-events:none; }
body.daoyan-guided .studio-upload:has(.source-artwork:not([hidden])) .photo-replace-indicator { display:flex; }
body.daoyan-guided .photo-toolbar { display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0; }
body.daoyan-guided .photo-file-meta { min-width:0;margin:0;color:#94a1b4;font-size:10px;line-height:1.6;overflow:hidden;white-space:nowrap;text-overflow:ellipsis; }
body.daoyan-guided #camera-button { display:flex;align-items:center;gap:8px;flex-shrink:0;min-height:44px;height:auto;padding:9px 13px;background:#fff;border:1px solid var(--studio-line);border-radius:9px;color:#5c6f8c;font-size:11px; }
body.daoyan-guided #camera-button svg { width:17px;height:17px; }
body.daoyan-guided .consent { width:min(720px,100%);margin:0 auto;color:#728199;font-size:11px;line-height:1.65; }
body.daoyan-guided .consent input { width:17px;height:17px;min-width:17px; }
body.daoyan-guided #photo-form > .flow-actions,body.daoyan-guided #preview-panel > .flow-actions { border-top:1px solid #eef1f6; }
body.daoyan-guided #photo-form .flow-actions > .primary,body.daoyan-guided #preview-panel .flow-actions > .primary { flex:none;width:min(100%,260px); }
body.daoyan-guided .studio-preview-heading { display:flex;align-items:center;justify-content:space-between;gap:15px; }
body.daoyan-guided .studio-material-label { flex-shrink:0;padding:6px 9px;border:1px solid #e5ebf4;border-radius:7px;font-size:10px;line-height:1.5;color:#7c8ca5; }
body.daoyan-guided .artwork-mat { position:relative;padding:20px;background:#f5f7fb;border-color:#e8edf4;border-radius:16px; }
body.daoyan-guided #artwork-preview { filter:drop-shadow(0 4px 12px #172b4d06); }
body.daoyan-guided .preview-scroll > .hint { font-size:10px;color:#94a1b4; }
body.daoyan-guided .generation-art { width:155px;height:155px;padding:10px;border:1px solid #edf1f7;border-radius:36px;background:#fbfcff;color:var(--studio-blue); }
body.daoyan-guided .generation-scroll { gap:16px; }
body.daoyan-guided .generation-scroll > .studio-eyebrow { margin:0;font-size:8px; }
body.daoyan-guided #generation-panel h3 { color:var(--studio-ink);font-size:26px;font-weight:600; }
body.daoyan-guided #generation-message,body.daoyan-guided #queue-message { font-size:12px;color:#8795aa;max-width:420px; }
body.daoyan-guided .studio-processing { display:flex;gap:5px;align-items:center;justify-content:center;height:10px; }
body.daoyan-guided .studio-processing i { display:block;width:4px;height:4px;border-radius:50%;background:#1458e8;animation:studio-breathe 1.5s ease-in-out infinite; }
body.daoyan-guided .studio-processing i:nth-child(2) { animation-delay:.2s; }
body.daoyan-guided .studio-processing i:nth-child(3) { animation-delay:.4s; }
body.daoyan-guided .queue-scroll { gap:15px; }
body.daoyan-guided .studio-queue-icon { display:grid;place-items:center;width:66px;height:66px;border:1px solid #e6edf8;border-radius:22px;background:#f7faff;color:var(--studio-blue); }
body.daoyan-guided .studio-queue-icon svg { width:34px;height:34px; }
body.daoyan-guided .order-panel:is([data-state="planning_failed"],[data-state="execution_failed"],[data-state="unknown"]) .studio-queue-icon { color:#a47635;background:#fdfaf4;border-color:#f0e6d4; }
body.daoyan-guided .order-panel:is([data-state="planning_failed"],[data-state="execution_failed"],[data-state="unknown"],[data-state="cancelled"]) .studio-queue-icon svg { display:none; }
body.daoyan-guided .order-panel:is([data-state="planning_failed"],[data-state="execution_failed"],[data-state="unknown"]) .studio-queue-icon::before { content:"!";font-size:25px;font-weight:500; }
body.daoyan-guided .order-panel[data-state="cancelled"] .studio-queue-icon { color:#8d9ab0;background:#f8f9fc;border-color:#e6ebf2; }
body.daoyan-guided .order-panel[data-state="cancelled"] .studio-queue-icon::before { content:"×";font-size:25px;font-weight:400; }
body.daoyan-guided .queue-scroll h3 { color:var(--studio-ink);font-size:25px; }
body.daoyan-guided .queue-position { width:min(440px,100%);padding:15px;background:#f8faff;border-color:#e6ecf8;border-radius:14px; }
body.daoyan-guided .order-timeline { width:min(550px,100%);margin-top:8px;color:#99a7bc;font-size:10px; }
body.daoyan-guided .order-timeline li { border-color:#e7edf5; }
body.daoyan-guided .order-timeline li.current { color:var(--studio-blue);border-color:var(--studio-blue); }
body.daoyan-guided #progress-panel { width:min(550px,100%); }
body.daoyan-guided .order-tools { padding-top:9px;border-color:#eef1f6;color:#94a1b4; }
body.daoyan-guided .order-tools .hint { color:#a0adbf;font-size:9px; }
body.daoyan-guided .order-more > summary { color:#8e9db3;font-size:10px; }
body.daoyan-guided[data-camera-active="true"] #photo-form .photo-inputs { display:none; }
body.daoyan-guided[data-camera-active="true"] #photo-form .photo-entry { width:min(720px,100%);margin:auto; }
body.daoyan-guided[data-camera-active="true"] #camera-panel { width:100%;height:100%; }
@keyframes studio-breathe { 0%,80%,100% { opacity:.2;transform:translateY(0); } 40% { opacity:1;transform:translateY(-3px); } }
@media(max-width:600px) {
  body.daoyan-guided { grid-template-rows:64px minmax(0,1fr); }
  body.daoyan-guided .top { height:64px;padding:9px 19px; }
  body.daoyan-guided .history-button { min-height:40px;padding:7px 11px;font-size:10px; }
  body.daoyan-guided[data-view] .experience-main { padding:0 13px max(13px,env(safe-area-inset-bottom));gap:7px; }
  body.daoyan-guided[data-view] .journey-header { padding:13px 0 9px; }
  body.daoyan-guided .steps { gap:3px; }
  body.daoyan-guided .steps li { font-size:9px;gap:5px; }
  body.daoyan-guided .step-number { width:21px;height:21px;font-size:8px; }
  body.daoyan-guided .guided-screen,body.daoyan-guided .order-panel { padding:21px 18px 13px;border-radius:19px; }
  body.daoyan-guided .section-title h2 { font-size:25px; }
  body.daoyan-guided .studio-eyebrow { font-size:8px;letter-spacing:.13em;margin-bottom:6px; }
  body.daoyan-guided .products { gap:12px; }
  body.daoyan-guided .product,body.daoyan-guided .product:nth-child(2) { border-radius:14px; }
  body.daoyan-guided .product-body { padding:14px 11px;gap:9px; }
  body.daoyan-guided .product h3 { font-size:17px; }
  body.daoyan-guided .product .price { font-size:22px; }
  body.daoyan-guided .product-visual { max-height:min(31dvh,220px);aspect-ratio:.92; }
  body.daoyan-guided .flow-actions > .primary { min-width:0;min-height:48px; }
  body.daoyan-guided .selection-actions { gap:10px;padding-top:12px; }
  body.daoyan-guided .material-visual-note { font-size:9px; }
  body.daoyan-guided .checkout-scroll { gap:20px; }
  body.daoyan-guided .checkout-summary { padding:23px; }
  body.daoyan-guided .payment-methods label { min-height:58px;padding:12px;font-size:12px; }
  body.daoyan-guided .order-heading h2 { font-size:18px; }
  body.daoyan-guided .order-heading .price { font-size:23px; }
  body.daoyan-guided .state-label { margin:5px 0 15px;font-size:9px; }
  body.daoyan-guided .flow-heading h3 { font-size:22px; }
  body.daoyan-guided .photo-scroll { gap:12px; }
  body.daoyan-guided .photo-inputs { gap:8px; }
  body.daoyan-guided .upload.studio-upload { padding:11px;border-radius:13px; }
  body.daoyan-guided .photo-empty-guide .upload-icon { width:60px;height:60px;margin-bottom:6px; }
  body.daoyan-guided .upload-title { font-size:12px; }
  body.daoyan-guided .upload-detail { font-size:9px; }
  body.daoyan-guided .consent { font-size:11px;line-height:1.6;gap:8px; }
  body.daoyan-guided .consent input { width:16px;height:16px;min-width:16px; }
  body.daoyan-guided .photo-toolbar { gap:9px; }
  body.daoyan-guided .photo-file-meta { font-size:9px; }
  body.daoyan-guided #camera-button { font-size:10px;padding:8px 10px; }
  body.daoyan-guided #photo-form .flow-actions > .primary,body.daoyan-guided #preview-panel .flow-actions > .primary { width:100%; }
  body.daoyan-guided .flow-actions { padding-top:10px; }
  body.daoyan-guided .studio-preview-heading { align-items:flex-start;gap:8px; }
  body.daoyan-guided .studio-preview-heading h3 { font-size:21px; }
  body.daoyan-guided .studio-material-label { margin-top:3px;padding:5px 6px;font-size:8px; }
  body.daoyan-guided .artwork-mat { padding:12px;border-radius:13px; }
  body.daoyan-guided .generation-art { width:130px;height:130px;border-radius:30px; }
  body.daoyan-guided #generation-panel h3 { font-size:23px; }
  body.daoyan-guided .generation-scroll { gap:13px; }
  body.daoyan-guided .studio-queue-icon { width:57px;height:57px;border-radius:19px; }
  body.daoyan-guided .queue-scroll h3 { font-size:23px; }
  body.daoyan-guided .queue-scroll { gap:12px; }
  body.daoyan-guided #generation-message,body.daoyan-guided #queue-message { font-size:11px; }
}
@media(max-height:700px) {
  body.daoyan-guided { grid-template-rows:55px minmax(0,1fr); }
  body.daoyan-guided .top { height:55px;padding-top:5px;padding-bottom:5px; }
  body.daoyan-guided[data-view] .journey-header { padding-top:8px;padding-bottom:6px; }
  body.daoyan-guided .guided-screen,body.daoyan-guided .order-panel { padding-top:15px;padding-bottom:9px; }
  body.daoyan-guided .section-title h2 { font-size:23px; }
  body.daoyan-guided .product-visual { max-height:26dvh; }
  body.daoyan-guided .photo-scroll { gap:9px; }
  body.daoyan-guided .flow-heading h3 { font-size:20px; }
  body.daoyan-guided .studio-eyebrow { margin-bottom:4px;font-size:7px; }
  body.daoyan-guided .photo-empty-guide { gap:4px; }
  body.daoyan-guided .photo-empty-guide .upload-icon { width:45px;height:45px;margin-bottom:1px; }
  body.daoyan-guided .state-label { margin-bottom:10px; }
  body.daoyan-guided .consent { font-size:11px;line-height:1.55; }
  body.daoyan-guided .generation-art { width:105px;height:105px;border-radius:24px; }
  body.daoyan-guided .generation-scroll { gap:9px; }
  body.daoyan-guided .studio-queue-icon { width:44px;height:44px;border-radius:14px; }
  body.daoyan-guided .studio-queue-icon svg { width:28px;height:28px; }
  body.daoyan-guided .queue-scroll { gap:8px; }
  body.daoyan-guided .queue-scroll h3 { font-size:20px; }
}
@media(max-height:520px) {
  body.daoyan-guided .studio-eyebrow { display:none; }
  body.daoyan-guided .state-label { margin-bottom:6px; }
  body.daoyan-guided .photo-scroll { gap:6px; }
  body.daoyan-guided .photo-empty-guide .upload-icon { display:none; }
  body.daoyan-guided .photo-toolbar { min-height:34px; }
  body.daoyan-guided #camera-button { min-height:36px;padding-top:6px;padding-bottom:6px; }
  body.daoyan-guided .generation-art { width:74px;height:74px;padding:3px; }
  body.daoyan-guided .studio-queue-icon { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  body.daoyan-guided .studio-processing i { animation:none;opacity:.65; }
}
/* Workflow position is separate from the server's planning/drawing progress. */
body.daoyan-guided .flow-step-summary { display:flex;align-items:center;justify-content:space-between;gap:14px;width:min(650px,100%);margin:0 auto 10px; }
body.daoyan-guided .flow-step-summary strong { color:var(--studio-ink);font-size:13px;font-weight:600; }
body.daoyan-guided .flow-step-summary > span { color:#8392a9;font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums; }
body.daoyan-guided .flow-step-progress { display:block;appearance:none;-webkit-appearance:none;width:min(650px,100%);height:5px;margin:0 auto 14px;border:0;border-radius:99px;overflow:hidden;background:#e6edf8;color:var(--studio-blue); }
body.daoyan-guided .flow-step-progress::-webkit-progress-bar { background:#e6edf8;border-radius:99px; }
body.daoyan-guided .flow-step-progress::-webkit-progress-value { background:var(--studio-blue);border-radius:99px;transition:width .2s ease; }
body.daoyan-guided .flow-step-progress::-moz-progress-bar { background:var(--studio-blue);border-radius:99px; }
body.daoyan-guided .generation-progress { display:block;appearance:none;-webkit-appearance:none;width:min(240px,80%);height:6px;min-height:6px;border:0;border-radius:99px;overflow:hidden;background:#e8eef8;color:#76a0ef; }
body.daoyan-guided .generation-progress:indeterminate { background-image:linear-gradient(90deg,transparent,#4d83ed,transparent);background-size:45% 100%;background-repeat:no-repeat;animation:studio-indeterminate 1.8s ease-in-out infinite; }
body.daoyan-guided .generation-progress::-webkit-progress-bar { background:transparent; }
body.daoyan-guided .generation-progress::-moz-progress-bar { background:#76a0ef;border-radius:99px; }
@keyframes studio-indeterminate { from { background-position:-90% 0; } to { background-position:190% 0; } }
@media(max-width:1024px),(pointer:coarse) {
  body.daoyan-guided[data-view] .journey-header { padding-top:13px;padding-bottom:9px; }
  body.daoyan-guided .journey-header .steps { display:none; }
  body.daoyan-guided .flow-step-summary { width:100%;margin-bottom:10px; }
  body.daoyan-guided .flow-step-summary strong { font-size:13px; }
  body.daoyan-guided .flow-step-summary > span { font-size:10px; }
  body.daoyan-guided .flow-step-progress { width:100%;height:5px;margin-bottom:0; }
  body.daoyan-guided .products { grid-template-columns:minmax(0,1fr);width:min(500px,100%);gap:12px; }
  body.daoyan-guided .product,body.daoyan-guided .product:nth-child(2) { width:100%;flex-direction:column; }
  body.daoyan-guided .product-visual { height:clamp(70px,15dvh,140px);max-height:none;aspect-ratio:auto; }
  body.daoyan-guided .product-body { padding:12px 17px;gap:6px; }
  body.daoyan-guided .product h3 { font-size:18px; }
  body.daoyan-guided .product .price { font-size:22px; }
  body.daoyan-guided .payment-methods { grid-template-columns:minmax(0,1fr);gap:10px; }
  body.daoyan-guided .payment-methods label { min-height:54px; }
  body.daoyan-guided .photo-entry,body.daoyan-guided .photo-entry:has(.source-artwork:not([hidden])),body.daoyan-guided .photo-inputs { grid-template-columns:minmax(0,1fr); }
  body.daoyan-guided .studio-preview-heading { flex-direction:column;align-items:flex-start;gap:7px; }
  body.daoyan-guided .studio-material-label { margin-top:0; }
  body.daoyan-guided .order-timeline { display:flex;flex-direction:column;gap:0;width:min(440px,100%);text-align:left;margin-top:0; }
  body.daoyan-guided .order-timeline li { width:100%;border-top:0;border-left:2px solid #e2e9f5;padding:7px 0 7px 13px; }
  body.daoyan-guided .order-timeline li.current { border-left-color:var(--studio-blue); }
}
@media(max-height:620px) and (max-width:1024px) {
  body.daoyan-guided[data-view] .journey-header { padding-top:6px;padding-bottom:5px; }
  body.daoyan-guided .flow-step-summary { margin-bottom:6px; }
  body.daoyan-guided .product-visual { height:70px; }
  body.daoyan-guided .product-body { padding:9px 13px;gap:4px; }
  body.daoyan-guided .product h3 { font-size:16px; }
  body.daoyan-guided .product .price { font-size:19px; }
  body.daoyan-guided .generation-art { width:76px;height:76px; }
}
@media(prefers-reduced-motion:reduce) {
  body.daoyan-guided .flow-step-progress::-webkit-progress-value { transition:none; }
  body.daoyan-guided .generation-progress:indeterminate { animation:none;background-position:50% 0; }
}
/* Landscape and keyboard-height viewports keep the current step visible. */
body.daoyan-guided[data-viewport-size="compact"] .journey-header { display:block;padding-top:4px;padding-bottom:3px; }
body.daoyan-guided[data-viewport-size="compact"] .journey-header .steps { display:none; }
body.daoyan-guided[data-viewport-size="compact"] .flow-step-summary { margin-bottom:5px; }
body.daoyan-guided[data-viewport-size="compact"] .flow-step-summary strong { font-size:11px; }
body.daoyan-guided[data-viewport-size="compact"] .flow-step-summary > span { font-size:10px; }
body.daoyan-guided[data-viewport-size="compact"] .flow-step-progress { height:3px;margin-bottom:0; }

/* Desktop overflow is discoverable; phone/tablet gestures keep the page clean. */
body.daoyan-guided {
  --studio-scroll-thumb: #bdcbe0;
  --studio-scroll-track: #f2f5fa;
}
body.daoyan-guided .flow-scroll,
body.daoyan-guided #notice,
body.daoyan-guided dialog,
body.daoyan-guided textarea {
  scrollbar-width: thin;
  scrollbar-color: var(--studio-scroll-thumb) var(--studio-scroll-track);
}
body.daoyan-guided .flow-scroll::-webkit-scrollbar,
body.daoyan-guided #notice::-webkit-scrollbar,
body.daoyan-guided dialog::-webkit-scrollbar,
body.daoyan-guided textarea::-webkit-scrollbar {
  display: block;
  width: 7px;
  height: 7px;
}
body.daoyan-guided .flow-scroll::-webkit-scrollbar-track,
body.daoyan-guided #notice::-webkit-scrollbar-track,
body.daoyan-guided dialog::-webkit-scrollbar-track,
body.daoyan-guided textarea::-webkit-scrollbar-track {
  background: var(--studio-scroll-track);
  border-radius: 99px;
}
body.daoyan-guided .flow-scroll::-webkit-scrollbar-thumb,
body.daoyan-guided #notice::-webkit-scrollbar-thumb,
body.daoyan-guided dialog::-webkit-scrollbar-thumb,
body.daoyan-guided textarea::-webkit-scrollbar-thumb {
  min-height: 36px;
  background: var(--studio-scroll-thumb);
  border: 2px solid var(--studio-scroll-track);
  border-radius: 99px;
  background-clip: padding-box;
}
body.daoyan-guided .flow-scroll::-webkit-scrollbar-thumb:hover,
body.daoyan-guided #notice::-webkit-scrollbar-thumb:hover,
body.daoyan-guided dialog::-webkit-scrollbar-thumb:hover,
body.daoyan-guided textarea::-webkit-scrollbar-thumb:hover {
  background-color: #87a7da;
}
body.daoyan-guided .flow-scroll::-webkit-scrollbar-thumb:active,
body.daoyan-guided #notice::-webkit-scrollbar-thumb:active,
body.daoyan-guided dialog::-webkit-scrollbar-thumb:active,
body.daoyan-guided textarea::-webkit-scrollbar-thumb:active {
  background-color: var(--studio-blue);
}
body.daoyan-guided .flow-scroll::-webkit-scrollbar-corner,
body.daoyan-guided #notice::-webkit-scrollbar-corner,
body.daoyan-guided dialog::-webkit-scrollbar-corner,
body.daoyan-guided textarea::-webkit-scrollbar-corner {
  background: transparent;
}
body.daoyan-guided .flow-scroll:hover,
body.daoyan-guided .flow-scroll:focus-within,
body.daoyan-guided #notice:hover,
body.daoyan-guided #notice:focus-within,
body.daoyan-guided dialog:focus-within,
body.daoyan-guided textarea:focus {
  scrollbar-color: #91add7 var(--studio-scroll-track);
}
@media (max-width: 1024px), (pointer: coarse) {
  body.daoyan-guided .flow-scroll,
  body.daoyan-guided #notice,
  body.daoyan-guided dialog,
  body.daoyan-guided textarea {
    scrollbar-width: none;
  }
  body.daoyan-guided .flow-scroll::-webkit-scrollbar,
  body.daoyan-guided #notice::-webkit-scrollbar,
  body.daoyan-guided dialog::-webkit-scrollbar,
  body.daoyan-guided textarea::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }
}
@media (forced-colors: active) {
  body.daoyan-guided .flow-scroll,
  body.daoyan-guided #notice,
  body.daoyan-guided dialog,
  body.daoyan-guided textarea {
    scrollbar-width: auto;
    scrollbar-color: auto;
  }
  body.daoyan-guided .flow-scroll::-webkit-scrollbar,
  body.daoyan-guided #notice::-webkit-scrollbar,
  body.daoyan-guided dialog::-webkit-scrollbar,
  body.daoyan-guided textarea::-webkit-scrollbar {
    display: block;
    width: 12px;
    height: 12px;
  }
}

body.daoyan-guided .photo-return-notice{margin:0 0 12px;padding:11px 13px;border:1px solid #eadfc9;border-radius:9px;background:#fffaf0;color:#8b744f;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
body.daoyan-guided[data-camera-active="true"] #photo-return-notice{display:none}
