/* Product selectors migrated mechanically from approved AIPH_00004 Demo r2. */
.dh-page{--ink:#282925;--sub:#71736b;--line:#dcded6;--paper:#fcfcf9;--wash:#f0f1ec;--dark:#30332d}
.dh-page *{box-sizing:border-box}
.dh-page button,.dh-page input,.dh-page select,.dh-page textarea{font:inherit;color:inherit}
.dh-page button,.dh-page a{touch-action:manipulation}
.dh-page button{cursor:pointer}
.dh-page button:disabled{cursor:default;opacity:.45}
.dh-page a{color:inherit;text-decoration:none}
.dh-page button:focus-visible,.dh-page a:focus-visible,.dh-page input:focus-visible,.dh-page textarea:focus-visible,.dh-page select:focus-visible{outline:3px solid #939b86;outline-offset:3px}
.dh-page button{border:0;background:transparent}
.dh-page h1,.dh-page h2,.dh-page h3,.dh-page h4,.dh-page p{margin:0}
.dh-page svg{display:block;max-width:100%}
.dh-page [hidden]{display:none!important}
.dh-page .tag{font-size:10px;line-height:1.5;display:inline-flex;align-items:center;border:1px solid #cbd1c1;border-radius:5px;padding:4px 8px;background:#f5f7f0;white-space:nowrap}
.dh-page .tag.dark{background:var(--dark);color:white;border-color:var(--dark)}
.dh-page .appbar{min-height:62px;display:flex;align-items:center;gap:7px;padding:11px 15px;border-bottom:1px solid #e6e9df}
.dh-page .appbar h3{font-size:16px;flex:1;font-weight:650;line-height:1.4}
.dh-page .icon-btn{width:34px;min-height:36px;border-radius:10px;display:grid;place-items:center;flex:none}
.dh-page .icon-btn:hover{background:var(--wash)}
.dh-page .top-link{font-size:12px;padding:6px 0}
.dh-page .content{padding:21px;flex:1;min-width:0}
.dh-page .content>*+*{margin-top:20px}
.dh-page .content h2{font-size:25px;letter-spacing:-.6px;line-height:1.4}
.dh-page .lead,.dh-page .hint{color:var(--sub);font-size:11px;line-height:1.8}
.dh-page .lead{font-size:12px;margin-top:6px!important}
.dh-page .title-line{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px;font-size:13px;font-weight:600}
.dh-page .title-line span{font-size:11px;font-weight:400;color:var(--sub)}
.dh-page .surface{border:1px solid var(--line);border-radius:14px;padding:14px;background:white}
.dh-page .surface>*+*{margin-top:10px}
.dh-page .surface.soft{background:var(--wash);border-color:transparent}
.dh-page .row{display:flex;align-items:center;gap:11px;text-align:left;min-width:0}
.dh-page .row.full{width:100%}
.dh-page .grow{flex:1;min-width:0}
.dh-page .row strong{font-size:13px;display:block;font-weight:600}
.dh-page .row small{display:block;font-size:11px;color:var(--sub);line-height:1.6;margin-top:3px}
.dh-page .chev{font-size:20px;color:#869078}
.dh-page .type-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dh-page .type{border:1px solid var(--line);border-radius:15px;background:white;min-height:151px;padding:17px 14px;text-align:left}
.dh-page .type b{display:block;font-size:15px;margin:15px 0 3px}
.dh-page .type small{font-size:11px;color:var(--sub);display:block;line-height:1.7}
.dh-page .type-icon,.dh-page .thumb{width:42px;height:42px;border-radius:11px;background:#eff2e9;display:grid;place-items:center;flex:none}
.dh-page .thumb{width:51px;height:61px;overflow:hidden}
.dh-page .thumb .art{height:100%;width:100%}
.dh-page .segmented{display:flex;background:#ecefe5;border-radius:10px;gap:4px;padding:4px}
.dh-page .segmented button{flex:1;padding:7px;font-size:12px;border-radius:7px}
.dh-page .segmented button[aria-pressed=true]{background:white;box-shadow:0 1px 4px #182b080c;font-weight:600}
.dh-page .label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}
.dh-page .prompt{width:100%;resize:vertical;min-height:115px;border:1px solid var(--line);border-radius:12px;padding:12px;font-size:12px;line-height:1.8;background:white}
.dh-page .prompt::placeholder{color:#93988b}
.dh-page .upload{border:1px dashed #bbc4af;border-radius:12px;min-height:77px;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;text-align:center;background:#f4f6f0;width:100%}
.dh-page .upload b{font-size:12px;font-weight:500}
.dh-page .upload small{font-size:10px;display:block;color:#8b9382;margin-top:3px}
.dh-page .asset-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.dh-page .selected-asset{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px;background:white}
.dh-page .selected-asset strong{font-size:12px;display:block}
.dh-page .selected-asset small{font-size:10px;color:var(--sub);display:block}
.dh-page .text-btn{font-size:11px;text-decoration:underline;text-underline-offset:3px;padding:5px 2px}
.dh-page .mini{width:67px;background:#eef0e9;border:1px solid var(--line);border-radius:9px;position:relative;overflow:hidden}
.dh-page .mini>.art{width:100%;height:58px}
.dh-page .mini small{font-size:9px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:4px;text-align:center}
.dh-page .remove{position:absolute;right:2px;top:2px;background:white;border-radius:50%;width:22px;height:22px;line-height:20px;padding:0;font-size:16px}
.dh-page .relation{padding:12px;background:white;border:1px solid var(--line);border-radius:12px;width:100%}
.dh-page .relation strong{font-size:12px}
.dh-page .relation small{font-size:10px}
.dh-page .source{font-size:10px;background:#edf1e5;border-radius:8px;padding:8px 10px;color:#616f54}
.dh-page .specs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dh-page .specs label{font-size:12px;font-weight:500}
.dh-page .specs input,.dh-page .specs select,.dh-page .filters select{width:100%;min-height:36px;border:1px solid var(--line);border-radius:8px;padding:6px 9px;margin-top:5px;background:white}
.dh-page .specs .unit{position:relative}
.dh-page .specs .unit span{position:absolute;right:11px;top:12px;font-size:11px;color:var(--sub)}
.dh-page .specs input{padding-right:34px}
.dh-page .footer{padding:16px 21px 21px;border-top:1px solid #e9ece1}
.dh-page .footer .hint{margin-top:8px;text-align:center;font-size:10px}
.dh-page .btn{display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:43px;padding:11px 15px;font-weight:600;font-size:12px;border-radius:11px;background:var(--dark);color:white}
.dh-page .btn.full{width:100%}
.dh-page .btn.secondary{border:1px solid #d1d8c7;background:#f5f7f0;color:#4f5d44}
.dh-page .pair{display:flex;gap:9px}
.dh-page .pair>*{flex:1}
.dh-page .sheet-bg{background:#eceee8}
.dh-page .sheet-context{padding:25px 21px;min-height:128px;color:#737b6b}
.dh-page .sheet-context p{font-size:11px;margin-top:5px}
.dh-page .sheet{background:var(--paper);border-top:1px solid var(--line);border-radius:23px 23px 0 0;padding:12px 20px 20px;flex:1}
.dh-page .handle{width:34px;height:4px;background:#ccd2c3;border-radius:3px;margin:0 auto 18px}
.dh-page .sheet-title{display:flex;align-items:center;justify-content:space-between;font-size:17px;font-weight:600;margin-bottom:17px}
.dh-page .sheet>*+*{margin-top:15px}
.dh-page .asset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.dh-page .asset-tile{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:white;text-align:left;position:relative;padding:0}
.dh-page .asset-tile>.art{height:98px;width:100%}
.dh-page .asset-tile small{display:block;font-size:10px;padding:7px;line-height:1.6}
.dh-page .asset-tile[aria-pressed=true]{outline:2px solid #718160;outline-offset:-2px}
.dh-page .check{position:absolute;top:5px;right:5px;border:1px solid #a9b49c;border-radius:50%;width:18px;height:18px;background:white;font-size:10px;text-align:center;line-height:16px}
.dh-page .asset-tile[aria-pressed=true] .check{background:#516442;color:white;border-color:#516442}
.dh-page .library-empty{border:1px dashed #c3cdb7;border-radius:10px;padding:15px;color:#7d8870;font-size:11px}
.dh-page .gallery-cover{height:190px;position:relative;border-radius:13px;overflow:hidden;background:#e9eee0;display:flex;align-items:center;justify-content:center}
.dh-page .gallery-cover>.art{height:170px;width:170px}
.dh-page .cover-tag{position:absolute;top:10px;left:10px;font-size:10px;background:#fffc;border-radius:5px;padding:3px 7px}
.dh-page .gallery-copy{font-size:12px;line-height:1.85;color:#646b5d;white-space:pre-wrap}
.dh-page .asset-caption{font-size:10px;color:#7c856f}
.dh-page .status-hero{text-align:center;padding:28px 4px 12px}
.dh-page .status-icon{width:64px;height:64px;border-radius:50%;background:#e9eee0;display:grid;place-items:center;margin:0 auto 20px}
.dh-page .status-hero h2{font-size:22px}
.dh-page .status-hero p{font-size:12px;color:var(--sub);line-height:1.9;margin-top:9px}
.dh-page .steps{padding:8px 0}
.dh-page .step{display:flex;gap:13px;position:relative;padding:12px 0}
.dh-page .step:not(:last-child)::after{content:"";position:absolute;left:10px;top:36px;width:1px;height:22px;background:#d5ddcd}
.dh-page .dot{width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:#e5eadc;color:#8d997e;font-size:10px;flex:none;margin-top:2px}
.dh-page .step.active .dot{background:#4b5a3e;color:white}
.dh-page .step strong{font-size:12px;font-weight:500;display:block}
.dh-page .step small{font-size:10px;color:#89937d}
.dh-page .notice{border:1px solid #ccd3c2;border-radius:11px;background:#eff2e9;padding:12px;font-size:11px;line-height:1.8}
.dh-page .notice strong{display:block;font-size:12px;margin-bottom:3px}
.dh-page .notice.error{border-style:dashed;background:#f2f1ed;border-color:#acafa4}
.dh-page .details{font-size:11px;line-height:1.9;color:#747d68;overflow-wrap:anywhere}
.dh-page .details b{font-weight:500;color:#404a36}
.dh-page .filters{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:11px}
.dh-page .task-row{width:100%;text-align:left;display:flex;gap:11px;padding:15px 0;border-bottom:1px solid var(--line)}
.dh-page .task-row:last-child{border-bottom:0}
.dh-page .task-row b{display:block;font-size:13px;font-weight:600}
.dh-page .task-row small{display:block;font-size:10px;color:#868f7a;margin:4px 0 7px}
.dh-page .film{position:relative;background:#dce3d3;aspect-ratio:9/10;border-radius:13px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.dh-page .film>.art{height:80%;width:80%;margin-top:30px}
.dh-page .film .scene-label{position:absolute;left:15px;top:13px;font-size:10px;color:#647554}
.dh-page .film .caption{position:absolute;left:15px;bottom:63px;font-size:18px;letter-spacing:.7px}
.dh-page .film .controls{position:absolute;bottom:12px;left:12px;right:12px;display:flex;gap:8px;align-items:center;background:#eff3e8da;border-radius:9px;padding:8px;font-size:10px}
.dh-page .play{height:27px;width:27px;display:grid;place-items:center;border-radius:50%;background:#445637;color:white;font-size:11px;padding:0}
.dh-page .track{height:3px;background:#c1ccb7;flex:1}
.dh-page .track::before{content:"";display:block;width:0;height:100%;background:#667d54}
.dh-page .film.playing .track::before{animation:progress 10s linear infinite}
.dh-page .film.playing>.art{animation:breathe 5s ease-in-out infinite}
.dh-page .film.playing .caption{animation:gentle 5s ease-in-out infinite}
.dh-page *{scroll-behavior:auto!important;animation:none!important}
.dh-page .versions{display:flex;gap:8px;flex-wrap:wrap}
.dh-page .version{border:1px solid var(--line);border-radius:9px;padding:9px 13px;background:white;font-size:11px}
.dh-page .version[aria-pressed=true]{border-color:#657954;background:#eaf0e0;font-weight:600}
.dh-page .review-copy{font-size:12px;line-height:1.9;white-space:pre-wrap}
.dh-page .summary-row{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid #e4e8dd;font-size:11px}
.dh-page .summary-row:last-child{border:0}
.dh-page .summary-row span{color:#7b856e}
.dh-page .dialog{background:var(--paper);border-radius:18px;padding:23px;box-shadow:0 12px 28px #34452212}
.dh-page .dialog h3{font-size:20px;margin-bottom:9px}
.dh-page .dialog p{font-size:12px;color:#78836a;line-height:1.9}
.dh-page .dialog>*+*{margin-top:17px}
.dh-page .result-check{font-size:11px;border-radius:8px;padding:8px 10px;background:#edf2e4;display:flex;align-items:center;gap:7px}
.dh-page .endnote{border-top:1px solid #cbd2c0;padding:22px 0 32px;max-width:1100px;color:#748064;font-size:12px;line-height:1.9}
.dh-page .callout{border-left:2px solid #99a58c;padding:0 0 0 10px;margin-top:9px;font-size:10px;color:#78846b}
.dh-page .file-label{display:flex;justify-content:center;align-items:center;cursor:pointer;min-height:44px}
.dh-page img.art{object-fit:cover}
.dh-page .gap8{margin-top:8px!important}
.dh-page .mono{font-variant-numeric:tabular-nums}
.dh-page .content{padding:20px}
.dh-page .asset-tile>.art{height:110px}
.dh-page .endnote{padding-bottom:30px}
.dh-page .length-guide{display:flex;justify-content:space-between;gap:8px;margin-top:7px;font-size:11px;color:#727c67}
.dh-page .length-guide strong{font-weight:500;color:#46543a}
.dh-page .duration-note{font-size:11px;color:var(--sub);line-height:1.8;margin-top:9px}
.dh-page .ai-link{display:flex;align-items:center;gap:5px;font-size:12px;color:#485b3b;padding:4px 8px;border-radius:7px;background:#edf2e5;font-weight:500}
.dh-page .title-line label{font-size:13px}
.dh-page .extra-prompt{min-height:83px}
.dh-page .form-mode{font-size:11px;color:var(--sub)}
.dh-page .source-options{display:grid;gap:10px}
.dh-page .source-option{width:100%;background:#f7f8f3;border:1px solid var(--line);border-radius:12px;padding:16px;text-align:left;cursor:pointer}
.dh-page .source-option strong{display:block;font-size:13px}
.dh-page .source-option small{display:block;font-size:11px;color:var(--sub);margin-top:3px}
.dh-page .category-context{display:flex;align-items:center;gap:7px;font-size:11px;color:#79846d}
.dh-page .category-context b{font-weight:600;color:#4a5c3e}
.dh-page .ai-brief{min-height:164px}
.dh-page .ai-draft{min-height:250px}
.dh-page .ai-context{font-size:11px;padding:9px 11px;border-radius:9px;background:#eef2e8;color:#66745b}
.dh-page .task-prompt{white-space:pre-line}
.dh-page .details-label{display:block;font-size:11px;color:#6c7960;margin:12px 0 5px}
.dh-page .story-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.dh-page .story-summary>div{background:var(--wash);border-radius:9px;padding:11px}
.dh-page .story-summary small{display:block;font-size:10px;color:var(--sub)}
.dh-page .story-summary b{font-size:13px;font-weight:600}
.dh-page .review-change{border-left:2px solid #8c9a7c;padding-left:10px;margin-top:12px!important}
.dh-page .ai-error{margin-top:12px}
.dh-page .prompt.with-counter{min-height:130px}
.dh-page .source-dialog{padding:22px}
.dh-page .content .input-section{margin-top:17px}
/* H5 shell integration: product content has the Demo's own padding. */
.dh-shell{background:#fcfcf9;color:#282925}
.dh-shell .screen{padding:0}
.dh-shell>.topbar{min-height:62px;gap:7px;padding:11px 15px;border-bottom:1px solid #e6e9df;background:#fcfcf9}
.dh-shell .topbar-title{font-size:16px;line-height:1.4;font-weight:650}
.dh-top-link{font-size:12px;padding:6px 0;background:transparent;border:0;color:#282925}
.dh-page{background:var(--paper);color:var(--ink);font:14px/1.65 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;display:flex;flex-direction:column;min-height:calc(100dvh - 62px);}
.dh-page .footer{margin-top:auto;padding-bottom:max(21px,env(safe-area-inset-bottom));}
.dh-page .art{object-fit:cover}
.dh-page svg{width:22px;height:22px;flex:none}
.dh-page .ai-link svg{width:15px;height:15px}
.dh-page video.film{display:block;width:100%;height:auto;aspect-ratio:9/10;background:#20231d;object-fit:contain}
.dh-page .btn{position:relative}
.dh-page .btn:before{content:"";position:absolute;inset:-3px 0;min-height:48px}
.dh-page .source-option{min-height:48px}
.dh-page .icon-btn,.dh-page .remove,.dh-page .text-btn,.dh-page .ai-link{position:relative}
.dh-page .mini .remove{position:absolute}
.dh-page .icon-btn:before,.dh-page .remove:before,.dh-page .text-btn:before,.dh-page .ai-link:before{content:"";position:absolute;min-width:48px;min-height:48px;left:50%;top:50%;transform:translate(-50%,-50%)}
.dh-page .notice{overflow-wrap:anywhere}
.dh-source-dialog{background:#fcfcf9!important;color:#282925!important;border-radius:14px!important;padding:22px!important;max-width:360px}
.dh-source-dialog h2{font-size:19px;line-height:1.5;font-weight:600}
.dh-source-dialog>p{font-size:12px;color:#71736b;margin:9px 0 18px}
.dh-source-dialog .source-options{display:grid;gap:10px}
.dh-source-dialog .source-option{display:flex;align-items:center;gap:11px;background:#f7f8f3;border:1px solid #dcded6;border-radius:12px;padding:16px;text-align:left;min-height:64px;color:inherit}
.dh-source-dialog .source-icon{width:42px;height:42px;border-radius:11px;background:#eff2e9;display:grid;place-items:center;flex:none}
.dh-source-dialog .source-copy{flex:1;min-width:0}
.dh-source-dialog .source-chevron{font-size:20px;color:#869078}
.dh-source-dialog .source-option strong{display:block;font-size:13px}
.dh-source-dialog .source-option small{display:block;font-size:11px;color:#71736b;margin-top:3px}
.dh-source-dialog .dialog-actions{margin-top:18px}
.dh-source-dialog .dialog-actions .overlay-action{width:100%;border:1px solid #d1d8c7;background:#f5f7f0;color:#4f5d44;border-radius:11px;min-height:43px;font-size:12px;font-weight:600}
.dh-confirm-dialog{background:#fcfcf9!important;color:#282925!important;border-radius:16px!important;padding:24px!important}
.dh-confirm-dialog h2{font-size:19px;line-height:1.5;font-weight:600}
.dh-confirm-dialog .dialog-body{margin-top:12px;font-size:12px;line-height:1.8;color:#71736b}
.dh-confirm-fields{padding:14px;background:#f0f1ec;border-radius:14px;margin-top:16px}
.dh-confirm-fields>div{display:flex;justify-content:space-between;gap:12px;font-size:11px;margin:6px 0}
.dh-confirm-fields b{font-weight:500;color:#282925;text-align:right;overflow-wrap:anywhere}
.dh-confirm-dialog .dialog-actions{display:flex;gap:9px;margin-top:18px}
.dh-confirm-dialog .overlay-action{flex:1;background:#30332d;color:white;border:1px solid #30332d;border-radius:11px;font-size:12px;font-weight:600}
.dh-confirm-dialog .overlay-action.secondary{background:#f5f7f0;color:#4f5d44;border-color:#d1d8c7}
.dh-shell>.topbar .icon-button{width:34px;min-width:34px;height:36px;min-height:36px;padding:0;position:relative}
.dh-shell>.topbar .icon-button:before{content:"";position:absolute;inset:-6px;min-height:48px}
.dh-page .specs .select-trigger{position:relative;margin-top:5px;min-height:58px;height:58px;padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:white;font-size:12px;line-height:19.8px}
.dh-page .specs .select-trigger svg{width:16px;height:16px}
.dh-page .specs .select-trigger:before{content:"";position:absolute;inset:-6px 0;min-height:48px}
.dh-page .specs .duration-stepper{display:flex;align-items:center;margin-top:5px;border:1px solid var(--line);border-radius:8px;background:white;overflow:hidden}
.dh-page .specs .duration-stepper input{min-width:0;flex:1;width:1px;border:0;margin:0;padding:6px 9px;min-height:56px;background:transparent;appearance:textfield;-moz-appearance:textfield}
.dh-page .duration-stepper input::-webkit-inner-spin-button,.dh-page .duration-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.dh-page .specs .duration-stepper .duration-unit{position:static;font-size:11px;color:var(--sub);padding:0 8px 0 0}
.dh-page .duration-buttons{display:flex;flex-direction:column;flex:none;border-left:1px solid var(--line)}
.dh-page .duration-buttons button{width:40px;min-height:28px;display:grid;place-items:center;padding:0;background:var(--wash);font-size:11px;line-height:1}
.dh-page .duration-buttons button+button{border-top:1px solid var(--line)}
.dh-page .duration-buttons button:hover:not(:disabled){background:#dde5d3}
.dh-page .specs select{min-height:58px}
.dh-page .duration-stepper:focus-within{outline:2px solid #939b86;outline-offset:2px}
.dh-page .duration-stepper input:focus-visible{outline:0}
.dh-page .ai-draft{min-height:200px}
@media(prefers-reduced-motion:reduce){.dh-page *{scroll-behavior:auto;transition:none}}
